ADD_ACTION和wp_HEAD不在HEAD部分显示内容

时间:2013-06-21 作者:apanzett

我有个大问题。在Wordpress页面中,我有一个生成og元标记的函数。我想在head部分“附加”生成的meta。因此,我编写了以下代码:

add_action(\'wp_head\', \'_set_meta_tag\');
function _set_meta_tag()
{
    global $nome;
    global $descr;
    global $file;
    global $path_meta;

    $output = "";
    $output .= \'<meta property="og:title" content="\'.$nome.\'" />\';
    $output .= \'<meta property="og:type" content="article" />\';
    $output .= \'<meta property="og:image" content="\'; $output .= get_bloginfo(\'template_url\'); $output .= \'/includes/img/immagini_evento/\'.$file.\'" />\';
    $output .= \'<meta property="og:url" content="\'.$path_meta.\'" />\';
    $output .= \'<meta property="og:description" content="\'.truncate(htmlentities($descr),200).\'" />\';
    $output .= \'<meta property="og:site_name" content="\'; $output .= get_bloginfo(\'name\'); $output .=\'" />\';

    echo $output;}
add_action(\'wp_head\', \'_set_meta_tag\'); 不显示$output. 为什么?

我也很乐意回应一个简单的“你好,世界”,但什么都没发生!

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

该代码必须在wp_head 钩子激发或什么都不会发生,当在mu插件文件中测试时,它确实可以工作。

我怀疑您尝试挂接该函数的时间太晚了——可能是在get_header (在大多数情况下)。将该代码放在主题的functions.php 或者在一个(mu-)插件文件中,它应该至少在回显内容的范围内工作。我没有分析其他bug。

SO网友:Gigi Gerow

我也有同样的问题。我通过创建自己的钩子解决了这个问题。

这是我的header.php 文件我的钩子放在wp_head()

<?php my_doc_head(); ?>
<?php wp_head(); ?>
</head>
这个钩子和添加到钩子中的回调函数在function.php.

function my_doc_head() {
    do_action(\'my_doc_head\');
}

add_action(\'my_doc_head\',\'my_seo_meta\');
function my_seo_meta() {
    global $wp_query;
    $postid = $wp_query->post->ID;
    //insert whatever code to build $output 
    echo $output;
    wp_reset_query();
}

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $