助けてください.. wordpressを初めて使用し、フィールド(場所、ドレス)のcustom_meta_boxを使用してカスタム投稿を作成しています
したがって、カスタム投稿のリストで、custom_meta_box で作成した値を表示したいと考えています。
ここに私の現在のコードがあります:
/* プラグイン名: 自分のカスタム投稿 プラグイン URI: http://www.mywebsite.com/firstPlugin/ 説明: 私のサンプルの説明 作者:モンスキー バージョン: 1.0 著者 URI: http://www.mywebsite.com/ */ // 新しい投稿タイプとタクソノミーを登録します 関数 wpt_event_posttype() { register_post_type( 'イベント', 配列( 'ラベル' => 配列( '名前' => __( 'イベント' ), 'singular_name' => __( 'イベント' ), 'add_new' => __( '新しいイベントを追加' ), 'add_new_item' => __( '新しいイベントを追加' ), 'edit_item' => __( '編集イベント' ), 'new_item' => __( '新しいイベントを追加' ), 'view_item' => __( 'ビュー イベント' ), 'search_items' => __( '検索イベント' ), 'not_found' => __( 'イベントが見つかりません' ), 'not_found_in_trash' => __( 'ゴミ箱にイベントが見つかりません' ) )、 「公開」 => 真、 'supports' => array( 'title', 'editor', 'thumbnail', 'comments' ), 'capability_type' => '投稿', 'rewrite' => array("slug" => "events"), // パーマリンク形式 'menu_position' => 5, 'register_meta_box_cb' => 'add_events_metaboxes' ) ); } add_action( 'init', 'wpt_event_posttype' ); 関数 add_events_metaboxes() { // add_meta_box('wpt_events_date', 'Event Date', 'wpt_events_date', 'events', 'side', 'default'); add_meta_box('wpt_events_location', 'イベントの場所', 'wpt_events_location', 'events', 'normal', 'high'); } add_action( 'add_meta_boxes', 'add_events_metaboxes' ); 関数 wpt_events_location() { グローバル $post; // データの発信元を確認するために Noncename が必要 エコー ''; // すでに入力されている場合は位置データを取得します $location = get_post_meta($post->ID, '_location', true); $dresscode = get_post_meta($post->ID, '_dresscode', true); // フィールドをエコーアウトする エコー '場所を入力してください:
'; エコー ''; エコー '人々はどのように服を着るべきですか?
'; エコー ''; } function wpt_save_events_meta($post_id, $post) { // これが私たちの画面からのものであることを確認し、適切な承認を得て、 // save_post は別のタイミングでトリガーできるため if ( !wp_verify_nonce( $_POST['eventmeta_noncename'], plugin_basename(__FILE__) )) { $post->ID を返します。 } // ユーザーは投稿またはページを編集できますか? if ( !current_user_can( 'edit_post', $post->ID )) $post->ID を返します。 // OK、認証されました: データを見つけて保存する必要があります // ループしやすいように配列に入れます。 $events_meta['_location'] = $_POST['_location']; $events_meta['_dresscode'] = $_POST['_dresscode']; // $events_meta の値をカスタム フィールドとして追加します foreach ($events_meta as $key => $value) { // $events_meta 配列を循環します! if( $post->post_type == 'リビジョン' ) return; // カスタム データを 2 回保存しないでください $value = implode(',', (array)$value); // $value が配列の場合、CSV にします (ありそうにありません) if(get_post_meta($post->ID, $key, FALSE)) { // カスタム フィールドにすでに値がある場合 update_post_meta($post->ID, $key, $value); } else { // カスタム フィールドに値がない場合 add_post_meta($post->ID, $key, $value); } if(!$value) delete_post_meta($post->ID, $key); // 空白の場合は削除 } } add_action('save_post', 'wpt_save_events_meta', 1, 2); // カスタム フィールドを保存します