轻松制作插件的活动-复制标题标签

时间:2018-06-25 作者:ben.kaminski

我使用Events Make Easy插件为客户端处理事件。最近在扫描我的网站查找问题时,我注意到“事件”页面中出现了重复的标题标记,因为它们都输出相同的“事件-网站名”<title> 并且不是特定于事件的。这不仅会导致重复的标题标记,而且会通过使用<?php add_theme_support(\'title_tag\'); ?> 非常困难。在plugin site for Events Made Easy, 他们发布了一个可行的解决方案,但它实际上破坏了我正在使用的YOAST执行的任何SEO。

插件网站上提出的解决方案是将其添加到函数中。php:

remove_action( \'wp_head\', \'_wp_render_title_tag\', 1 );
然后在结束之前添加以下内容</head> 标题中的标记。php破坏了通过WP提供的“title\\u tag”支持,我应该添加以下内容:

<?php if (!eme_is_events_page()) { ?>
    <title><?php echo get_the_title().\' | \'.get_bloginfo( \'name\' );?></title>
<?php }?>
虽然此解决方案特别适用于事件页面,但它不仅破坏了Yoast SEO的功能,而且破坏了对我的主题的title\\u标记支持。

本质上,此解决方案仅适用于事件页面,并将其他页面置于通用标题| bloginfo页面标题之下,使YOAST SEO无法更改这些标记。对我来说,这本质上是回到“title\\u tag”支持可用之前的状态,是一种黑客的解决方法。

我一直在尝试一些有条件的PHP来解决这个问题,但似乎我正在尝试重新发明轮子。

<?php wp_head(); ?>
        <?php if (eme_is_events_page()) { ?>
            <title><?php echo get_the_title().\' - \'.get_bloginfo( \'name\' );?></title>
        <?php } elseif (is_front_page()) { ?>
            <title><?php echo get_bloginfo(); ?></title>
        <?php } elseif(is_page()) { ?>
            <title><?php echo get_the_title().\' - \'.get_bloginfo( \'name\' );?></title>
        <?php } ?>
但使用我自己的方法,我必须考虑每一个可能的页面,自定义页面模板,标记页面等,似乎有点过时了。我很想在这个问题上获得一些意见,我想继续在我的主题上使用title标签支持,不想回到实际放置<title></title> 在我的标题中。php

对于那些不熟悉Events Make Easy插件的人,插件本身有一个地方可以让我在插件配置中输入额外的标题。这要求我使用他们的“占位符”使标题动态化。Events Made Easy Settings

因此,由于插件配置本身的原因,一些更传统的方法可能无法工作。

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

我用Events Make Easy 2.0.35版尝试以下代码<看起来你已经接近解决方案了。你已经找到了所有的砖块,但你没有成功地组装它们。

如果这是一个事件页面,并且在后端设置了标题的配置,请尝试使用以下代码停用自动标题:

add_action("wp_head", function () {


    if (eme_is_single_event_page()) {

        $extra_headers_format = get_option(\'eme_event_html_headers_format\');

        if (!empty($extra_headers_format)) {
            remove_action( \'wp_head\', \'_wp_render_title_tag\', 1 );
        }

    }


}, 0); // priority 0 to be launched before the call of "_wp_render_title_tag"

结束

相关推荐

Duplicates with WP_Query loop

我在头版上只显示带有特色图片的帖子。我的问题是,每次加载下一个页面时,我都会收到相同的结果,也就是得到重复的结果。我正在使用按自定义字段排序。欢迎任何可能导致此问题的指示/想法。下面是我的主循环// Layout if(is_category()) { $post_layout = blt_get_option(\'category_post_layout\', \'normal\'); } elseif(is_author()) {