封闭的快捷代码在模板中不起作用

时间:2012-01-24 作者:Jennifer M John

我将以下代码用于一个封闭的短代码,它在帖子中非常有效。

function date_code($attr, $content)
{
   return \'<h3>\' . $content . \'</h3>\';
}

add_shortcode(\'datecode\', \'date_code\');
但当我尝试在页面模板中使用它时http://codex.wordpress.org/Function_Reference/do_shortcode 它不起作用了。

我在模板中使用了以下代码:

echo do_shortcode( \'[datecode]\' . $content . \'[/datecode]\' );
Please help me since the non-enclosing shortcode works fine with do_shortcode. 而且,我对在页面模板中使用封闭短代码一无所知。

我想在页面模板中显示短代码,就像在帖子中一样。提前谢谢。

1 个回复
SO网友:Stephen Harris

短代码将某些内容包装在标题标记中。为了使短代码发挥作用,您需要提供一些东西。

上面的代码运行良好,只需设置$content=\'My header text\'; 在回显模板中的短代码之前。当前,您没有在标题标记中包装任何内容。

但您不需要使用短代码来包装HTML标记-只需使用HTML:

<h1> My header text</h1>
而不是

   <?php echo do_shortcode( \'[datecode]\' .\'My header text\'. \'[/datecode]\' ); ?>

结束

相关推荐

GET_SHORTCODE_regex()只与第一个短码匹配

法典中有an example 使用get\\u shortcode\\u regex()检查是否在给定页面上调用了短代码:$pattern = get_shortcode_regex(); preg_match(\'/\'.$pattern.\'/s\', $posts[0]->post_content, $matches); if (is_array($matches) && $matches[2] == \'YOURSHORTCODE\') { /