在标记页的标题之前添加HTML代码

时间:2019-03-25 作者:Jafar Abazeed

我想展示一个iframe 在特定标记页的顶部is_tag(\'my_tag\'), 我将添加iframetitle 页的。

我尝试了以下代码在页面内容之前显示iframe,但没有成功:

// Show the iFrame at the beginning of the page
function show_iframe($content) {
    if ( is_tag(\'my_tag\') ) {
        $before = \'<iframe src="https://www.example.com" sandbox="allow-scripts allow-same-origin"></iframe>\';
        return $before . $content;
    }
    return $content;
}
add_filter(\'the_content\', \'show_iframe\');
打印页面标题之前是否有运行的挂钩?或者以任何方式echoHTML 选择前的代码div 在页面中?

2 个回复
SO网友:Loren Rosen

首先,在WordPress行话中,“内容”不包括“标题”。(另外,请注意“标题”。有时它表示“主要内容上方的标题,网站导航和/或刊头下方的标题”,有时它表示html标题,这是浏览器在其历史记录中显示在窗口或选项卡顶部的一段文本。在这种情况下,听起来像是指前者。

其次,在这种情况下,没有钩子来修改标题。而是修改模板。您可能会担心必须修改多个模板文件,因为该网站的网页看起来会有所不同。幸运的是,通常情况下,为了保持一致性,不同类型网页的顶部看起来是相同的。所以,您可能只需要修改header.php 或一些模板部件(可能在template-parts/header).

SO网友:Loren Rosen

在浏览器中使用javascript。这里有一个jQuery解决方案。请注意,详细信息取决于主题详细信息、标记、所需的iframe url等。

在里面functions.php 添加

add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_scripts\' );
function my_theme_enqueue_scripts() {
    wp_enqueue_script(\'title-tweak\',
                      get_stylesheet_directory_uri() . \'/js/title-tweak.js\',
                      array(\'jquery\'));

}
并制作文件(在主题中)js/title-tweak.js, 包含

(function( $ ) {
    $(document).ready(
        function(){
            if ($("body").hasClass("tag-my_tag")) {
                $(".page-title").before (\'<iframe src="http://www.gravatar.com/avatar"></iframe>\');
            }

        } ); 
})(jQuery);
Addendum我用了一种稍微复杂一点的方法,因为有一段时间,简单的方法不起作用。但(至少在我的浏览器上)现在是这样了。

(function( $ ) {
    $(document).ready(
        function(){
                $(".body.tag-my_tag page-title").before (\'<iframe src="http://www.gravatar.com/avatar"></iframe>\');
        } ); 
})(jQuery);

相关推荐

如何:使用WordPress‘Hooks’在自定义帖子类型上显示ACF[字段]?

Sub-questions:i) Which files/templates need to be copied to the child theme folder, other than function.php and style.css?ii) What actions/filters/ should be used and where should this code be inserted?抱歉,如果下面的措辞不准确,我是WP初学者。我最近在本地主机上安装了Customizer 4.0.8[作为