有几件事:
您正在运行add_shortcode()
中的函数wp_head
. 你不需要那样做你的life_shortcode()
函数正在返回一个值,而不是回显它。所以它不会被输出缓冲区捕获ob_get_clean()
将不返回任何内容
wp_list_categories()
正在回响,因此无法正确地放入$mycats
无论何时使用快捷码,都会在页面顶部输出组织此代码的正确方法是:
function life_shortcode() {
$args = array(\'title_li\' => \'\', \'echo\' => false);
$mycats = wp_list_categories($args);
return \'<div class="conmenu"><a class="salit" href="/lifestyle/"><i class="x-icon-home" data-x-icon=""></i></a><ul>\' . $mycats . \'</ul></div>\';
}
add_shortcode( \'lifemenu\', \'life_shortcode\' );
还请注意,我已将函数名直接传递给
add_shortcode()
, 而不是使用调用原始函数的匿名函数。这种方式使用更少的代码,并且在必要时更容易与其他插件集成。