今天遇到一个关于PAGE页面模板无法使用的问题,找了很多相关资料,都无法解决。最后总结,即使修复了wordpress主题里的问题,相关页面的链接地址还是需要更换,才能解决。相关记录以及摘录内容如下:
WordPress 4.9 有一个重要更新是:在WP后台编辑主题和插件文件时,支持按层级显示所有文件。为了性能考虑,使用了 transient 缓存机制。但是却没有提供任何手动清除缓存的功能,导致有些用户升级到 WordPress 4.9 以后,发现“页面属性 – 模板”这个功能不能正常使用了,不显示主题自带的模板文件!
要解决这个问题,我们可以添加下面的代码到当前主题的 functions.php
就可以了:
/**
* Plugin name: WP Trac #42573: Fix for theme template file caching.
* Description: Flush the theme file cache each time the admin screens are loaded which uses the file list.
* Plugin URI: https://core.trac.wordpress.org/ticket/42573
* Author: Weston Ruter, XWP.
* Author URI: https://weston.ruter.net
*/
function wp_42573_fix_template_caching( WP_Screen $current_screen ) {
// Only flush the file cache with each request to post list table, edit post screen, or theme editor.
if ( ! in_array( $current_screen->base, array( 'post', 'edit', 'theme-editor' ), true ) ) {
return;
}
$theme = wp_get_theme();
if ( ! $theme ) {
return;
}
$cache_hash = md5( $theme->get_theme_root() . '/' . $theme->get_stylesheet() );
$label = sanitize_key( 'files_' . $cache_hash . '-' . $theme->get( 'Version' ) );
$transient_key = substr( $label, 0, 29 ) . md5( $label );
delete_transient( $transient_key );
}
add_action( 'current_screen', 'wp_42573_fix_template_caching' );
如果你不是开发者,建议你使用下面插件,直接安装就可以了。
链接:https://pan.baidu.com/s/1wodKdaxIBMb3jRwkupZkSw 密码:rtod
以上摘录原文:https://www.wpdaxue.com/fix-for-theme-template-file-caching.html
说明:
这个问题仅出现在4.9版本里,4.9.1版本以后,就修复了。但是,在我客户网站里,虽然是从4.9版本升到了4.9.4版本,也安装了插件,但是之前已经存在的页面在原有链接里还是不能使用页面模板。处理方法是:新建一个页面换一个页面地址(即链接别名)。如此,问题解决。仅当记录,如果你也发现了此问题,可以尝试以上方法。
转载链接: https://wpsenlin.com/wpkaifa/1103.html
原创文章版权属于作者,转载请注明出处。
- 有不懂的地方,欢迎加群(281907514)进行讨论!