您可以阅读核心代码来查找操作,也可以使用调试方法来查找所需的操作。
放入wp配置。php:
define(\'WP_DEBUG\', true);
define( \'WP_DEBUG_LOG\', true );
然后制作一个包含以下内容的mu插件文件:
<?php
add_action( \'all\', \'_action_printer\' );
function _action_printer( $a ){
if (strpos(\'gettext\', $a) === false && strpos(\'escape\', $a) === false) {
$x = func_get_args();
$x = print_r($x, true);
error_log( $x . "\\n", 3, dirname(__FILE__). \'/../debug.log\');
}
}
这将向调试输出所有操作的参数。将文件记录在wp content文件夹中,这样它会快速变大并降低站点速度。(我删除了两个,因为它们被大量使用。)只需使用足够长的时间就可以捕获所需的操作,这就是在定制器中切换主题。或者只打印动作名称(
$a
) 而不是为了更小的输出。
一旦您有了操作列表,您就可以修改代码以挂钩到适当的操作。你可能需要检查一下is_customize_preview()
以确保代码在正确的时间运行。请注意,用户可以预览许多主题,而无需实际选择使用一个主题,因此您的主题在Customizer中时不应该写入数据库(因为这只是一个预览)。