質問: array( 'a' => array( // on allow a tags 'href' => array() // and those anchords can only have href attribute ) ); // probably a good idea to make sure your data is set if( isset( $_post['meta_box_button_shortcode'] ) ) update_post_meta( $post_id, 'meta_box_button_shortcode', wp_kses( $_post['meta_box_button_shortcode'], $allowed ) ); } ?>
回答: 短い答え:no。ショートコードはコンテンツを挿入するためのものです投稿コンテンツに直接、投稿編集画面からユーザーによって。データがメタボックスから送信される場合、投稿コンテンツにコンテンツを挿入する他の、より良い、より効率的で制御しやすい手段があります。主に、the_contentフィルター(一般的な使用)、またはカスタムアクションフック(それらを提供するテーマ用)。the_contentフィルターを使用してコードを追加するのは簡単です。function my_plugin_filter_the_content( $content ) { // get post custom meta $values = get_post_custom( $post->id ); // determine if shortcode meta is set $my_custom_content = isset( $values['meta_box_button_shortcode'] ) ? esc_attr( $values['meta_box_button_shortcode'][0] ) : ''; // tell wordpress to execute the shortcode $custom_shortcode_output = do_shortcode( $my_custom_content ); // append the executed shortcode to $content $content .= $custom_shortcode_output; // return modified $content return $content; } add_filter( 'the_content', 'my_plugin_filter_the_content' ); ショートコードは不要です。また、フィルターを使用すると、ユーザーがプラグインを無効にした場合にショートコードが孤立することを心配する必要がありません。、特定のショートコードを出力する必要がある場合は、 do_shortcode( '[shortcode_name att="value"]' ) を使用できます。