我制作了一个自定义主题选项插件,并将以下代码放入插件文件
add_action( 'init', 'test_head_footer_init' );
function test_head_footer_init() {
add_action( 'wp_head', 'childtheme_favicon');
add_action( 'wp_footer', 'childtheme_analytics');
}
function childtheme_favicon() {
$shortname = get_option('of_shortname');
if (get_option($shortname . '_custom_favicon') != '') {
echo '<link rel="shortcut icon" href="'. get_option($shortname .'_custom_favicon') .'"/>'."\n";
}
}
function childtheme_analytics(){
$shortname = get_option('of_shortname');
$output = get_option($shortname . '_google_analytics');
if ( $output <> "" )
echo stripslashes($output) . "\n";
}
当我运行我的代码并检查主页URL页面标记时没有打印。页脚相同。
你能指导一下我的错误吗?
提前致谢。
ANSWER
上面的代码工作正常,但在我的插件文件中我添加了if(is_admin())
条件高于此代码。这就是为什么我这边的代码不起作用的原因。现在我删除了它,代码工作得很好。
答案 0 :(得分:0)
你不需要使用init动作,没有它就可以运行。
add_action( 'wp_head', 'childtheme_favicon');
add_action( 'wp_footer', 'childtheme_analytics');
function childtheme_favicon() {
$shortname = get_option('of_shortname');
if (get_option($shortname . '_custom_favicon') != '') {
echo '<link rel="shortcut icon" href="'. get_option($shortname .'_custom_favicon') .'"/>'."\n";
}
}
function childtheme_analytics(){
$shortname = get_option('of_shortname');
$output = get_option($shortname . '_google_analytics');
if ( $output <> "" )
echo stripslashes($output) . "\n";
}
此外,您需要将其放在functions.php或插件文件中。如果你试图把它放在header.php中,它就不会工作,因为代码需要在wp_head挂钩之前运行,否则什么都不会发生。