我正在开发一个自定义插件,它可以在WordPress中创建课程和课程。这是我试图获得Google作者身份的页面:
&右箭头;http://myguitarpal.com/videos/?lesson_id=13
谷歌作者身份需要出现在每节课中,并且应该出现在标题中。每节课都是同一个作者。
我想只要把这个添加到lessons.php
文件,但不是。当我查看源代码时,没有显示任何内容。
<?php
function google_authorship(){
echo \'<link rel="author" href="https://plus.google.com/authorname">\';
}
add_action(\'wp_head\', \'google_authorship\');
?>
我想是因为
header.php
在这段代码运行之前加载,并且操作挂钩没有钩住。我检查了我们的主题
wp_head()
在中
header.php
.
我想我可以修改header.php
文件和操作:
<?php
is_page(\'videos\'){
echo \'<link rel="author" href="https://plus.google.com/authorname">\';
}
?>
但如果不需要的话,我不想修改主题。必须有一种方法可以从插件中向标头添加代码。有吗?经过多次搜索,我还没有找到解决方案。
SO网友:tfrommen
这是一个猜测,因为您没有提供模板的(部分)。
无论如何,很可能(如果lessons.php
是一个完整的模板)有get_header();
模板文件开头的某个地方。如果你在问题中输入你发布的代码before 它将渲染此wp_head
行动还在后头。
// EDIT<然而,我的建议是将该函数放在functions.php
. 当然,你必须根据自己的需要进行调整。但这种方法要强大得多(如果需要的话)。你可以这样做:
function wpdev_156346_wp_head() {
if ( is_user_logged_in() ) {
// Some logged-in-user stuff
}
if ( is_search() ) {
// Some search-only stuff
} elseif ( is_singular() ) {
switch ( get_post_type() ) {
case \'page\':
// Some page-only stuff...
break;
case \'video\':
// Some video-only stuff...
break;
}
}
}
add_action( \'wp_head\', \'wpdev_156346_wp_head\' );