WordPress:插件生成的帖子中的Rich Snippets

时间:2015-04-06 10:56:31

标签: php html wordpress plugins rich-snippets

我正在使用一个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);

当我查看帖子的标记(在后端或前端)时,一切都很好。 现在我的问题:由于这些帖子代表“事件”,我想在帖子中添加丰富的代码段标记。将它们声明为事件,添加开始时间,带邮政地址的位置(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;
?>

来源看起来像这样:
     <div itemscope=" " class="af_post_content">Hello world!</div>

WordPress在帖子标记中是否会抑制某些属性/标签?生成<table>标记时,我遇到了类似的问题。如果是这样,我可以以某种方式允许这些标签吗? 有一些插件用于丰富网页摘要,但这些插件主要是在手动创建帖子时处理标记更改。

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

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