我可以通过使用“new”after\\u switch\\u theme挂钩激活我的主题来显示消息,方法如下:
function themeActivationFunction($oldname, $oldtheme=false) {
$msg = \'
<div class="error">
<p>The \' . get_option( \'current_theme\' ) . \' theme has been ACTIVATED.</p>
</div>\';
add_action( \'admin_notices\', $c = create_function( \'\', \'echo "\' . addcslashes( $msg, \'"\' ) . \'";\' ) );
}
add_action("after_switch_theme", "themeActivationFunction", 10 , 2);
但它不能与swith\\u主题挂钩一起禁用我的主题。我认为,因为将主题切换到另一个默认的WordPress消息会覆盖我的消息,在主题中被禁用,重新加载屏幕会删除所有内容。
function themeDeactivationFunction($theme) {
// Lets let the admin know whats going on.
$msg = \'
<div class="error">
<p>Your theme has been DEACTIVATED</p>
</div>\';
add_action( \'admin_notices\', $c = create_function( \'\', \'echo "\' . addcslashes( $msg, \'"\' ) . \'";\' ) );
}
add_action("switch_theme", "themeDeactivationFunction", 10 , 2);
我正在寻找一个“变通方法”,通知用户停用我的主题和设置例程。
最合适的回答,由SO网友:TheDeadMedic 整理而成
这是不可能的,因为停用后你的主题甚至没有加载罢工>
这是有可能的,但很难。本质上,我们取消了action
param,在主题管理页面中加载(&L);然后在重定向成功之前退出。
add_action( \'switch_theme\', \'wpse_60972_theme_deactivate_message\' );
function wpse_60972_theme_deactivate_message()
{
$msg = \'
<div class="error">
<p>Your theme has been DEACTIVATED</p>
</div>\';
add_action( \'admin_notices\', create_function( \'\', \'echo "\' . addcslashes( $msg, \'"\' ) . \'";\' ) );
unset( $_GET[\'action\'] );
require ABSPATH . \'wp-admin/themes.php\';
exit;
}
如果你发布的代码是逐字逐句的,我可以问你为什么要这样做吗?WordPress有自己的激活通知;停用。