今天在編輯阿湯博客tag頁面的時候,發(fā)現(xiàn)頁面模板選項(xiàng)沒有模板內(nèi)容。
網(wǎng)上找了找資料總結(jié)有以下三種情況會導(dǎo)致此問題:
1、有說是WordPress版本問題,下面是引用其中文檔的內(nèi)容:
WordPress 4.9 有一個重要更新是:在WP后臺編輯主題和插件文件時,支持按層級顯示所有文件。為了性能考慮,使用了 transient 緩存機(jī)制。但是卻沒有提供任何手動清除緩存的功能,導(dǎo)致有些用戶升級到 WordPress 4.9 以后,發(fā)現(xiàn)“頁面屬性 - 模板”這個功能不能正常使用了,不顯示主題自帶的模板文件!
其實(shí)個人覺得版本問題的概率很小,因?yàn)槲抑耙彩钦5?,只是今天突然想改一下頁面的?biāo)題,然后編輯的時候才出現(xiàn)了問題。
當(dāng)然文檔也給出了解決方案,要么升級版本或者修改主題的functions.php文件,因?yàn)檫@兩個方案操作起來都比較繁瑣,所以沒有去測試。
2、模板文件不存在或者格式不對。
這個首先去檢查了文件是否存在,比如:wp-content/thems/主題/tags.php,然后打開此文件檢查格式是否正確,在文件最開頭是否有如下代碼:
<?php /* Template Name: tags */ ?>
如果沒有手動加上,再進(jìn)行測試。
3、php環(huán)境禁用了scandir函數(shù)。
不管你是用的虛擬機(jī)還是自己部署的PHP環(huán)境,找到php.ini文件,然后找到“disable_functions=”這一行,然后刪除scandir。
然后在網(wǎng)站根目錄新建一個php文件,然后添加:
<?php phpinfo() ?>
然后在瀏覽器訪問此文件,Ctrl+F找到disable_functions,看下剛才的修改是否生效,沒生效需要重啟php-fpm(自己部署PHP環(huán)境才需要重啟)。
生效以后再去WordPress頁面查看模板顯示是否正常。
經(jīng)過測試,阿湯博客頁面模板選項(xiàng)沒有顯示,真是因?yàn)閜hp環(huán)境禁用了scandir函數(shù)導(dǎo)致,修改以后顯示正常。