問題描述
我正在 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。