当我直接在页面中调用after_setup_theme时没有任何条件它可以工作但是当我通过if循环它不起作用。我们检查过&我们正在进入那个循环甚至回声或警报给出了循环内部的输出这是我的简单的一个班轮当用户提交表格我们正在传递post变量 如果它像上面的其他功能,它没有任何问题,但它只是在插件激活后加载。我们希望用户点击&然后从插件设置页面激活此功能..
action=purchase
但如果是这样的话
add_action( 'after_setup_theme', 'otherfunction' )
它不起作用。我们使用var_dump来检查$ _POST ['action']值及其name1然后才回显内部if if循环它给出输出但不知道为什么add_action不起作用。
答案 0 :(得分:0)
我认为你不能这样做,因为当你添加和动作时,有一个激活的功能 do_action ,所以解决方案可以是总是调用你的add_action(),当用户提交您调用函数do_action()的表单以激活它。
如果您在网站的前端执行此操作,则可以在插件中执行类似操作:
function otherfunction() {
do_action('after_setup_theme', .... );
}
add_action("wp_ajax_name1", "otherfunction");
add_action("wp_ajax_nopriv_name1", "otherfunction");
希望这有帮助。