简单回答:
add_shortcode( \'hidemytext\', \'__return_false\' );
但决不能像那样使用短代码。想象一下,当带有该短代码的插件或主题被关闭时会发生什么:现在每个人都可以看到内容了。这对用户不是很友好。
因此,切换逻辑:默认情况下不显示任何内容或裸露的短代码标记,仅当短代码处理程序处于活动状态时才显示内容。将隐藏内容存储在简单的元数据库中:
要做到这一点,请添加一个带有编辑器的元盒,并按短代码显示其内容:
add_shortcode( \'extra\', \'t5_extra_content\' );
add_action( \'add_meta_boxes_post\', \'t5_register_extra_metabox\' );
add_action( \'save_post\', \'t5_save_shortcode_box\', 10, 2);
function t5_extra_content( $attributes, $content = \'\' )
{
$args = shortcode_atts( array ( \'cap\' => \'edit_posts\' ), $attributes );
if ( current_user_can( $args[\'cap\'] ) )
return wpautop(
get_post_meta( get_the_ID(), \'_t5_extra_box\', TRUE )
. $content
);
}
function t5_register_extra_metabox()
{
add_meta_box(
\'t5_extra\',
\'Extra\',
\'t5_extra_metabox_callback\',
NULL, // screen
\'normal\',
\'default\'
);
}
function t5_extra_metabox_callback( $post )
{
$nonce = wp_create_nonce( __FILE__ );
echo "<input type=\'hidden\' name=\'t5_extra_box_nonce\' value=\'$nonce\' />";
$content = get_post_meta($post->ID, \'_t5_extra_box\', TRUE );
wp_editor(
$content,
\'_t5_extra_box\',
array (
\'textarea_rows\' => 10,
\'media_buttons\' => FALSE,
\'teeny\' => TRUE,
\'tinymce\' => TRUE
)
);
}
function t5_save_shortcode_box( $post_id )
{
if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE
or ! isset ( $_POST[\'post_type\'] )
or \'post\' !== $_POST[\'post_type\']
or ! current_user_can( \'edit_post\', $post_id )
or ! wp_verify_nonce( $_POST[ \'t5_extra_box_nonce\' ], __FILE__ )
)
{
return;
}
if ( isset ( $_POST[\'_t5_extra_box\'] ) )
update_post_meta( $post_id, \'_t5_extra_box\', $_POST[\'_t5_extra_box\'] );
else
delete_post_meta( $post_id, \'_t5_extra_box\' );
}