问题描述
我正在 WordPress 中排查页面预览问题。我不能完全弄清楚他们如何工作。但我知道:
-
预览 ID 和预览随机单元唯一标识预览,并指示从哪里拉取预览数据。
-
预览数据不会从数据库中拉出,因为它不使用存储的数据,而是将数据输入页面编辑字段。
-
预览数据不存储在
$_GET
中,因为 GET 参数不包括所有数据。
预览数据是从 $_SESSION
还是数据库的其他部分提取? WordPress 如何从编辑器中的表单字段到实际的预览页面?
最佳解决方案
是的,这是一个这个 post 的副本。我会提供一些不同的检查机制。
您在预览最小的 asdf
帖子之前和之后使用 wp cli 导出。
wp export
你不保存任何东西,你只是预览。
Make sure you have super big autosave interval. define( ‘AUTOSAVE_INTERVAL’, 1000000 ); The default interval is 60 seconds.
之后,您可以使用 diff
命令工具检查两个 xml
文件。 wp export
将返回 XML 文件。
diff *.xml
我会得到这个想法,这是一个帖子 (州草案),没有 asdf
的内容的标题。
> <item>
> <title/>
> <link>http://test100.com/?p=1705</link>
> <pubDate>Mon, 30 Nov -0001 00:00:00 +0000</pubDate>
> <dc:creator>admin</dc:creator>
> <guid isPermaLink="false">http://test100.com/?p=1705</guid>
> <description/>
> <content:encoded><![CDATA[asdf]]></content:encoded>
> <excerpt:encoded><![CDATA[]]></excerpt:encoded>
> <wp:post_id>1705</wp:post_id>
> <wp:post_date>2016-12-23 01:03:44</wp:post_date>
> <wp:post_date_gmt>0000-00-00 00:00:00</wp:post_date_gmt>
> <wp:comment_status>open</wp:comment_status>
> <wp:ping_status>open</wp:ping_status>
> <wp:post_name/>
> <wp:status>draft</wp:status>
> <wp:post_parent>0</wp:post_parent>
> <wp:menu_order>0</wp:menu_order>
> <wp:post_type>post</wp:post_type>
> <wp:post_password/>
> <wp:is_sticky>0</wp:is_sticky>
> <category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
> <wp:postmeta>
> <wp:meta_key>_edit_last</wp:meta_key>
> <wp:meta_value><![CDATA[1]]></wp:meta_value>
> </wp:postmeta>
> </item>
所以只是为了预览 WordPress 创建草稿文章。在我们的例子中,?p=1705
表示帖子 ID 为 1705 。
希望你喜欢这个解释。
在 WordPress 中,没有 PHP 会话。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。