我怎样才能在Head之后,但在POST之前为Head添加钩子

时间:2013-12-27 作者:Neta Meta

我的意思是,我正在尝试将面包屑添加到我的博客中,我曾想过将其添加到内容之前或标题之后,但有一个问题——在存档页面或分类页面上,面包屑会出现在每个帖子中。

所以我想我必须把面包屑附在柱子上方的东西上,比如头部。

我该怎么做?

这是我到目前为止为内容所做的:

add_filter( \'the_content\', array($this, \'adding_bread_crumbs\') );
function adding_bread_crumbs( $content ) {
    /* Getting the current page permalink and site url */
    $pageURl = preg_replace(\'/\\/$/\',\'\',get_permalink());
    $homeURL = preg_replace(\'/\\/$/\',\'\',site_url());

    if ( function_exists(\'yoast_breadcrumb\')) {
        /* Checking if the current page is home page */
        if($pageURl != $homeURL && !is_page(\'Home\')){
            $breadcrumbs = \'<div class="breadcrumbHolder">\';
            $breadcrumbs .= yoast_breadcrumb(\'<p id="breadcrumbs">\',\'</p>\',false);
            $breadcrumbs .= \'</div>\';
            $content = $breadcrumbs.$content;
        }
    }
    return $content;
}
是否有任何东西可以替代“the\\u content”另一个钩子?还是我必须采取行动?

谢谢

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

据我所知,如果我理解你的话,你需要的位置上没有钩子。我能想到的最接近的是loop_start, 正如您所期望的,循环开始时会运行。这个钩子的问题是,您不知道主题在<head> 文档和循环运行的位置。

到目前为止,最好的解决方案是,如果您已经编写了主题,则将功能或您自己的挂钩编辑到您的主题中,或者如果您正在使用其他人的主题,则创建一个子主题并对其进行编辑。

SO网友:MadtownLems

在主题中,无论您希望输出显示在何处,请添加以下内容:

do_action( \'my_sweet_hook\' );
然后你可以使用add_action(\'my_sweet_hook\'、\'my_sweet_breadcrumbs\');(以及相应的功能代码)在此处显示您的内容。

SO网友:AaronJ

在WordPress 5.2中wp_body_open 在开始标记后触发。

结束