2016-07-09 4 views
3

私はindex.phpファイルを経由してページを作成するワードプレスのプラグインを開発し、特定のページに表示するmetaboxは、このページには、メタボックス内の情報を編集するユーザーを必要とするカスタムテンプレートを使用しています。Wordpressの - だけ

私は、プラグインの前にmetaboxesを追加しましたが、このような状況で行ったことがない - どのように私はこの1つのページ上の唯一のショーにメタボックスを指定することができますか?

は、すべての提案に開いているだろう - 私はそれは単純なものだと確信しています!

おかげで、 アラン

答えて

3

は、編集ページが適切なIDを持っているか、テンプレートを使用していないか調べfunctions.php

add_action('admin_init','my_meta_init'); 
function my_meta_init() 
{ 
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ; 
// checks for post/page ID 
if ($post_id == '84') 
{ 
    add_meta_box('my_all_meta_1', 'My Custom Meta Box 1', 'my_meta_setup_1', 'page', 'normal', 'high'); 
} 
$template_file = get_post_meta($post_id,'_wp_page_template',TRUE); 
// check for a template type 
if ($template_file == 'home.php') 
{ 
    add_meta_box('my_meta_2', 'My Custom Meta Box 2', 'my_meta_setup_2', 'page', 'normal', 'high'); 
} 

にこれを追加します。 1つを選択し、ID、テンプレート名を変更します。

+0

条件付き検証は**メタボックスプラグイン**で動作し、条件付きの場合は 'add_filter( 'rwmb_meta_boxes'、 'function');を入れてください – Gendrith

+0

あなたもfunctions.phpでこれを行うことができます** '$ title_search = get_the_title($ post_id);' **タイトルでバリデーションを行い、$ post_idの番号を変更することを心配する必要はありません(マイグレーションが必要な場合や、ユーザーがページを削除して再度作成する場合) – Gendrith

関連する問題