【发布时间】: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;
?>
来源如下:<div itemscope=" " class="af_post_content">Hello world!</div>
那么 WordPress 是否会抑制帖子标记中的某些属性/标签?我在生成<table> 标签时遇到了类似的问题。如果是这样,我可以以某种方式允许这些标签吗?
有一些丰富的 sn-ps 插件,但这些插件主要处理手动创建帖子时的标记更改。
谢谢!
【问题讨论】:
标签: php html wordpress plugins rich-snippets