希望在函数中启用或禁用短代码,具体取决于值。例如,如果有人说要购买许可证密钥以在其网站上使用某些短代码,我希望如果许可证到期,则会禁用短代码。示例函数我一直在下面工作:
SCOPES
我的方法上的任何输入或者是否应该以单独的方式处理该功能将不胜感激。目前,当所有内容都启用时,短代码正在运行,但即使在“状态”之后仍然保持启用状态。更改为'无效'。
答案 0 :(得分:0)
您应该在两个不同的函数中使用代码而不是一个函数。请查看以下代码并在您的网站上实施。
$status = get_option( 'key_status' );
if( $status !== false && $status == 'valid' ) {
//add a custom shortcode
add_action( 'init', 'my_add_shortcodes' );
function my_add_shortcodes() {
add_shortcode( 'myShortcode', 'my_shortcode_function' );
}
else{
//which can also remove
add_action( 'init', 'remove_my_shortcodes',20 );
function remove_my_shortcodes() {
remove_shortcode( 'myShortcode' );
}
答案 1 :(得分:0)
只是想发布更新。我的代码中的先前函数显然没有正确读取状态的值。基本上,只需要我的'if'语句并删除'else'就是我需要做的全部。
所以这很好用FYI:
function my_premium_shortcodes(){
$status = get_option( 'key_status' );
if( $status !== false && $status == 'valid' ) {
add_shortcode('shortcode_handle_1','shortcode_function_1');
add_shortcode('shortcode_handle_2','shortcode_function_2');
}
}
如果实际上正在读取'key_status',否则短代码总是被触发。
答案 2 :(得分:0)
将短代码功能代码添加到function.php文件或插件文件中。
function my_add_shortcodes() {
// Add your code here
}
add_shortcode( 'myShortcode', 'my_shortcode_function' );
使用以下条件在您主题的任何文件中调用短代码。
$status = get_option( 'key_status' );
if( $status !== false && $status == 'valid' ) {
echo do_shortcode('[myShortcode]');
}
我希望它会对你有所帮助。