有没有一种直接的方法可以通过Yoast SEO以编程的方式提供元描述标记,而不依赖于管理面板?

时间:2018-07-25 作者:Erutan409

我很好奇是否有支持的方法来提供<meta og:description="%VALUE%"> 标记到我的页面以获取自定义模板。

到目前为止,我已将一个操作添加到wpseo_head 回显不利用开放图的元描述标记。但是,我看到前面提到的默认情况下是从the_content().

通常情况下,这很好,但对于将使用此模板的特定页面,数据将从外部GUI(此数据也存放在仓库中)提供,此模板将从该GUI进行查询,并将特定的数据/内容传递给适当的wpautop()/do_shortcode()/等函数,并最终渲染输出。因此,在此场景中根本不会使用“内容”字段。

其中一个具体的数据片段是我希望Yoast SEO用于构建meta og描述标签的数据。

总的来说,我知道我不需要Yoast SEO来完成我想要的东西。然而,由于这个插件已经严重依赖于遗留内容,我想尝试通过它代理尽可能多的此类元内容;如果可能的话。

我仍在遍历源代码。如果我在别人建议之前找到了解决方案,我会补充我的发现。

EDIT

我还发现wpseo_opengraph 并尝试删除的筛选器description 加上我自己的,但乍一看,它似乎更加深入人心。这样做并没有改变我试图手动设置的特定元标记。

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

想得太多了:

<?php

add_filter(\'wpseo_opengraph_desc\', function () use (&$data) {
    $seo_intro = trim($data->seo_intro);

    if ($seo_intro === \'\') {
        $seo_intro = "{$data->name} - {$data->title}";
    }

    return esc_attr(wp_strip_all_tags(stripslashes(do_shortcode($seo_intro))));
}, PHP_INT_MAX);

?>
本质上,用一个过滤器劫持内容(因为Yoast是用这个过滤器来派生描述的),并确保它是最后一个运行以返回预定内容的过滤器。

EDIT

而不是在the_content, 使用Yoast的自定义筛选器wpseo_opengraph_desc.

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register