質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

350閲覧

カスタム投稿の項目選択について

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/11/21 02:14

編集2017/11/21 05:33

ご回答よろしくお願いいたします。
カスタム投稿の(genre)ジャンル項目を、セレクトボックスに変更したいです。
おそらくarrayで配列をすると思います。

PHP

1/** 2 * Adds a box to the main column on the Post and Page edit screens. 3 */ 4function myplugin_add_meta_box() { 5 6 $screens = array( 'circle' ); 7 8 foreach ( $screens as $screen ) { 9 10 add_meta_box( 11 'myplugin_sectionid', 12 __( 'サークル情報', 'myplugin_textdomain' ), 13 'myplugin_meta_box_callback', 14 $screen 15 ); 16 } 17} 18add_action( 'add_meta_boxes', 'myplugin_add_meta_box' ); 19 20/** 21 * Prints the box content. 22 * 23 * @param WP_Post $post The object for the current post/page. 24 */ 25function myplugin_meta_box_callback( $post ) { 26 27 // Add a nonce field so we can check for it later. 28 wp_nonce_field( 'myplugin_save_meta_box_data', 'myplugin_meta_box_nonce' ); 29 30 /* 31 * Use get_post_meta() to retrieve an existing value 32 * from the database and use the value for the form. 33 */ 34 $value = get_post_meta( $post->ID, 'circlename', true ); 35 36 echo '<label for="circlename">'; 37 _e( 'サークル名', 'myplugin_textdomain' ); 38 echo '</label><br>'; 39 echo '<input class="circlename" type="text" id="circlename" name="circlename" value="' . esc_attr( $value ) . '" size="25" /><br>'; 40 41 $value = get_post_meta( $post->ID, 'penname', true ); 42 43 echo '<label for="penname">'; 44 _e( 'PN', 'myplugin_textdomain' ); 45 echo '</label><br>'; 46 echo '<input class="penname" type="text" id="penname" name="penname" value="' . esc_attr( $value ) . '" size="25" /><br>'; 47 48 $value = get_post_meta( $post->ID, 'genre', true ); 49 50 echo '<label for="genre">'; 51 _e( 'ジャンル', 'myplugin_textdomain' ); 52 echo '</label><br>'; 53 echo '<input class="genre" type="text" id="genre" name="genre" value="' . esc_attr( $value ) . '" size="25" /><br>'; 54 55 $value = get_post_meta( $post->ID, 'spacenumber', true ); 56 57 echo '<label for="spacenumber">'; 58 _e( 'スペースNO', 'myplugin_textdomain' ); 59 echo '</label><br>'; 60 echo '<input class="spacenumber" type="text" id="spacenumber" name="spacenumber" value="' . esc_attr( $value ) . '" size="25" />'; 61} 62 63/** 64 * When the post is saved, saves our custom data. 65 * 66 * @param int $post_id The ID of the post being saved. 67 */ 68function myplugin_save_meta_box_data( $post_id ) { 69 70 /* 71 * We need to verify this came from our screen and with proper authorization, 72 * because the save_post action can be triggered at other times. 73 */ 74 75 // Check if our nonce is set. 76 if ( ! isset( $_POST['myplugin_meta_box_nonce'] ) ) { 77 return; 78 } 79 80 // Verify that the nonce is valid. 81 if ( ! wp_verify_nonce( $_POST['myplugin_meta_box_nonce'], 'myplugin_save_meta_box_data' ) ) { 82 return; 83 } 84 85 // If this is an autosave, our form has not been submitted, so we don't want to do anything. 86 if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { 87 return; 88 } 89 90 // Check the user's permissions. 91 if ( isset( $_POST['post_type'] ) && 'page' == $_POST['post_type'] ) { 92 93 if ( ! current_user_can( 'edit_page', $post_id ) ) { 94 return; 95 } 96 97 } else { 98 99 if ( ! current_user_can( 'edit_post', $post_id ) ) { 100 return; 101 } 102 } 103 104 /* OK, it's safe for us to save the data now. */ 105 106 if ( ! isset( $_POST['circlename'] ) ) { 107 return; 108 } 109 $my_data = sanitize_text_field( $_POST['circlename'] ); 110 update_post_meta( $post_id, 'circlename', $my_data ); 111 112 if ( ! isset( $_POST['penname'] ) ) { 113 return; 114 } 115 $my_data = sanitize_text_field( $_POST['penname'] ); 116 update_post_meta( $post_id, 'penname', $my_data ); 117 118 if ( ! isset( $_POST['genre'] ) ) { 119 return; 120 } 121 $my_data = sanitize_text_field( $_POST['genre'] ); 122 update_post_meta( $post_id, 'genre', $my_data ); 123 124 if ( ! isset( $_POST['spacenumber'] ) ) { 125 return; 126 } 127 $my_data = sanitize_text_field( $_POST['spacenumber'] ); 128 update_post_meta( $post_id, 'spacenumber', $my_data ); 129} 130add_action( 'save_post', 'myplugin_save_meta_box_data' );

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

項目を増やすならプラグインで行うほうが楽ですよ。

【Smart Custom Fields — WordPress プラグイン】
https://ja.wordpress.org/plugins/smart-custom-fields/

【【WordPress】クリック1つでカスタムフィールドのグループを増やせるSmart Custom Fieldsの繰り返し機能がすごく便利 | 福岡のホームページ制作・SEO対策ならアイドットデザイン】
https://idotdesign.net/blog/web/wordpress/smart-custom-fields/

【wordpressプラグインの「Smart Custom Fields(SCF)」の出力方法 - Qiita】
https://qiita.com/chokosuki4400/items/cfd14c3c3caf2a13a34c

投稿2017/11/21 02:27

kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問