如何在所有页面和帖子中特定位置之前或之后插入文本?

时间:2017-04-07 作者:eawedat

我有以下简单代码:

function func1() {
echo "this is amazing";
}

add_action(\'reko_hook\',\'func1\');
现在,我知道我可以reko_hook(); 要么在里面index.phppage.php 我想去哪里,但我想知道是否有更多预定义的钩子,例如\'init\'.

例如,我可以

add_action(\'init\',\'func1\');
但它会回响this is amazing 在收割台之前,

问题是,是否有其他预定义的钩子来指定函数输出的位置this is amazing 放置位置:

标题后,页面/帖子标题前。

  • 标题后,页面/帖子标题后。

    页脚前。

    页脚后。

    谢谢你。

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

    您也可以以类似的方式在内容之前或之后添加。我使用此代码:

    function rt_before_after($content) {
        $beforecontent = \'This goes before the content.\';
        $aftercontent = \'And this will come after.\';
        $fullcontent = $beforecontent . $content . $aftercontent;
    
        return $fullcontent;
    }
    add_filter(\'the_content\', \'rt_before_after\');
    
    您可以将其与\\u标题类似地使用,。

    reko\\u hook()您可能会附带您的主题或其他插件。

    SO网友:Johansson

    这并不是那么简单的回答。为了在WordPress主题的某个地方输出内容,必须在该特定位置有挂钩、函数等。

    例如,如果要向标题添加字符串,可以使用以下钩子钩住标题:

    add_filter( \'the_title\', \'myFunction\');

    但不能简单地在两个字符串之间添加字符串DIV 结构如下的构件:

    <div class="div1"> <div class="div2"> </div> </div>

    如果你想做这样的事情,你必须通过PHP函数,如preg_replace() 以及一系列其他任务,以找到您想要更改的部分,这并不总是最好的方法。

    因此,要在标题之前/之后回显您的内容,您可以使用我提供给您的过滤器。

    要在页脚中添加内容,可以为挂钩设置优先级。请注意,不能在页脚挂钩之后输出某些内容,因为后面没有挂钩,除非为此定义自己的函数或自定义挂钩。

    因此,您可以尝试在触发每个其他操作后使用以下代码输出您的内容:

    add_action( \'wp_footer\', \'your_function\', 999 );

    并将优先级从999更改为1,以反转优先级。

    SO网友:Andrew Edwards

    它是否需要以任何不同于添加文本的元素的特殊方式进行样式设置?如果没有,这可能可以通过一些简单的CSS来解决,使用:before和:after选择器将内容添加到您选择的任何元素中。

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    header:before , h1:before, footer:before
    {content: "this is amazing ";}
    
    header:after , h1:after, footer:after
    {content: " this is amazing";}
    </style>
    </head>
    <body>
    <header>
    <h1>My Header</h1>
    </header>
    <p>Your awesome page content</p>
    <footer>
    <b>Note:</b> For the content property to work in IE8, a DOCTYPE must be declared.
    </footer>
    </body>
    </html>
    

    相关推荐

    缺少自定义函数Widget_init的参数2

    我使用customizer中的theme\\u mod字符串生成自定义侧栏,但它是从另一个函数调用的。这是我的代码:function call_sidebar_function() { if ( get_theme_mod( \'enable_sidebar\' ) ) { $name = \"mySidebarName\"; $numberOfSidebars = get_theme_mod(\'number_of_sidebar