尝试将Wordpress实例更新为PHP 7.2,我有一个父主题,该父主题在其functions.php中使用了已弃用的$this
。
function paperback_filter_page_templates( $page_templates, $this, $post ) {
if( ! class_exists( 'Easy_Digital_Downloads' ) ) :
unset( $page_templates['inc/edd/home-downloads.php'] );
endif;
return $page_templates;
}
add_filter( 'theme_page_templates', 'paperback_filter_page_templates', 10, 3 );
我一直没有成功...
(将$this
从参数中删除,并具有更高的优先级add_filter
)
function paperback_filter_page_templates( $page_templates, $post ) {
if( ! class_exists( 'Easy_Digital_Downloads' ) ) :
unset( $page_templates['inc/edd/home-downloads.php'] );
endif;
return $page_templates;
}
add_filter( 'theme_page_templates', 'paperback_filter_page_templates', 15, 2 );
function rm_paperback_filter_page_templates() {
remove_filter( 'theme_page_templates', 'paperback_filter_page_templates', 10);
}
add_action( 'wp_loaded', 'rm_paperback_filter_page_templates', 15 );
(已尝试将此操作关联到init
,setup_theme
,after_setup_theme
...)
我可以从父主题中删除有问题的功能,以避免目前发生灾难性的php 7.2升级(已获取父主题作者/公司,因此不会进行更新),而且我知道寻找具有可插入功能的父主题从现在开始...但是很高兴知道是否可以进行真正的修复!