【问题标题】:WordPress: Rich Snippets in plug-in generated postsWordPress:插件生成帖子中的丰富片段
【发布时间】:2015-06-10 18:26:36
【问题描述】:

我正在开发一个 WordPress 插件,该插件会自动从用户的 facebook 事件中生成帖子(这专门针对单个网站,而不是试图发布)。 所以帖子生成和“发布”确实可以正常工作。我使用php-class-html-generator 来生成帖子标记。基本上是这样的:

$post_desc = HtmlTag::createElement('div');
$post_desc -> addClass("af_post_content");
$post_desc -> setText($event_desc);
...
$post = array(
    'post_title' => $name,
    'post_content' => $post_desc -> toString(),
    'post_status' => 'publish',
    'post_category' => $category_id
  );
...
wp_insert_post($my_post);

当我查看帖子的标记(在后端或前端)时,一切都很好。 现在我的问题是:由于这些帖子代表“事件”,我想在帖子中添加丰富的 sn-p 标记。将它们声明为事件,添加开始时间、带有邮政地址的位置(https://schema.org/Event)。问题是,如果我像这样添加标记:

$post_desc -> set("itemscope", " ");
$post_desc -> set("itemtype", "http://schema.org/Event");

“itemscope”和“itemtype”不会出现在帖子的标记中。 我在 WordPress 之外使用一个“hello world”示例进行了尝试,以测试 php-class-html-generator 是否存在问题,但它正确生成了属性。

<?php
require_once ('HtmlTag.class.php');

$post_desc = HtmlTag::createElement('div');
$post_desc -> addClass("af_post_content");
$post_desc -> set("itemscope", " ");
$post_desc -> setText("Hello world!");

echo $post_desc;
?>

来源如下:
&lt;div itemscope=" " class="af_post_content"&gt;Hello world!&lt;/div&gt;

那么 WordPress 是否会抑制帖子标记中的某些属性/标签?我在生成&lt;table&gt; 标签时遇到了类似的问题。如果是这样,我可以以某种方式允许这些标签吗? 有一些丰富的 sn-ps 插件,但这些插件主要处理手动创建帖子时的标记更改。

谢谢!

【问题讨论】:

    标签: php html wordpress plugins rich-snippets


    【解决方案1】:

    我不会推荐任何 schema.org 特定的插件,因为这些只会带来噪音。至少这是我的经验。

    不确定我是否可以帮助解决您遇到的具体问题,但您至少可以尝试使用 Yoast 插件 https://yoast.com/wordpress/,它是通常也管理 schema.org 标记的 SEO 插件。

    我知道这不是一个开箱即用的解决方案,但有时听起来很简单的解决方案,比如这个,可能会有所帮助。

    【讨论】:

    • 已经看过这个,不过我会仔细看看。谢谢
    • 没问题,希望对您有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2021-07-15
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多