まずfanction.phpはfunctions.phpにしてください。
それとadd_filterが抜けてませんか?
参照元の記事(おそらくhttp://2inc.org/blog/2013/10/13/3743/)だと以下のものです。
// フック名のxxxの部分はフォーム作成画面を参照してください。
add_filter( 'mwform_choices_mw-wp-form-xxx', 'add_products', 10, 2 );
ご返信ありがとうございます。
>>まずfanction.phpはfunctions.phpにしてください。
functions.phpにファイル名はなっております。私の誤字でございます。すみません。
>>// フック名のxxxの部分はフォーム作成画面を参照してください。
add_filter( ‘mwform_choices_mw-wp-form-xxx’, ‘add_products’, 10, 2 );
抜けが多く申し訳ありません。こちらの記述も記載しています。
以下の通りです。
add_filter( ‘mwform_choices_mw-wp-form-4326’, ‘add_schedules’, 10, 2 );
function add_schedules( $children, $atts ) {
if ( $atts[‘name’] == ‘schedules’ ) {
$schedules = get_posts( array(
‘post_type’ => ‘見学会・セミナー情報’,
‘tag’ => ‘見学会予約対象’,
‘posts_per_page’ => -1
) );
foreach ( $schedules as $schedule ) {
$children[$schedule->見学会予約フォーム用] = $schedule->見学会予約フォーム用;
}
}
return $children;
}
と記述しています。
>>参照元の記事(おそらくhttp://2inc.org/blog/2013/10/13/3743/)
まさにこの記事を参考にさせていただいています。
ですが此処からうまく動かすことができず、立ち往生しています。
では、$schedules
の中身は期待通りのものが入っていますでしょうか?
var_dump( $schedules );
post_typeとかtagのスラッグは日本語で間違いないです?
$schedule->見学会予約フォーム用
はたぶん違うような気がします。
上のvar_dumpした中身で確認できると思います。
確認させていただきたいのですが、
「見学会・セミナー情報」投稿タイプで、
「見学会予約対象」タグが付けられた全投稿の、
「見学会予約フォーム用」というカスタムフィールドの値(値は一つ?)をセレクトボックスの選択肢にする、
ということですよね?
ご返信ありがとうございます。
var_dump( $schedules );
こちらを試してみます。
functions.phpに書けば良いのでしょうか?
>>確認させていただきたいのですが、
「見学会・セミナー情報」投稿タイプで、
「見学会予約対象」タグが付けられた全投稿の、
「見学会予約フォーム用」というカスタムフィールドの値(値は一つ?)をセレクトボックスの選択肢にする、
ということですよね?
その通りです。
「見学会予約フォーム用」というカスタムフィールドは二つに分けて作っています。
カスタムフィールドタイプの
テンプレートコンテンツには以下のように記述しています。
====================
[見学会予約フォーム用]
type = text
size = 35
label = 開催日を入力してください
[見学会予約フォーム用]
type = text
size = 35
hideKey = true
=================
見学会予約フォーム用という名でテキストフォームが二つ出ています。
はい。functions.phpでvar_dump
はforeach
の前で良いと思います。
「見学会予約フォーム用」というカスタムフィールドが複数あるのですね。
それだと$schedule->見学会予約フォーム
で正しく値が取得できているのであれば、中には配列で二つのフィールドの値が入っているのではないでしょうか。
var_dump( $schedules );
を試してみました。
ありがとうございます。
なにやら長々と結果が出てまいりました。
長くなりますが以下にペーストいたします。
array(1) {
[0]=>
object(WP_Post)#3188 (24) {
[“ID”]=>
int(4119)
[“post_author”]=>
string(1) “1”
[“post_date”]=>
string(19) “2016-07-04 11:54:47”
[“post_date_gmt”]=>
string(19) “2016-07-04 02:54:47”
[“post_content”]=>
string(180) ”
<p>今回のみどころは、 ①こだわりの耐震構造や気密性の高い吹付断熱 ②メンテナンスコスト優れた目地の無い新仕様サイディング</p>
”
[“post_title”]=>
string(80) “7月9日(土)・10日(日)に日野市神明で構造見学会を行います。”
[“post_excerpt”]=>
string(0) “”
[“post_status”]=>
string(7) “publish”
[“comment_status”]=>
string(6) “closed”
[“ping_status”]=>
string(6) “closed”
[“post_password”]=>
string(0) “”
[“post_name”]=>
string(193) “7%e6%9c%889%e6%97%a5%e5%9c%9f%e3%83%bb10%e6%97%a5%e6%97%a5%e3%81%ab%e6%97%a5%e9%87%8e%e5%b8%82%e7%a5%9e%e6%98%8e%e3%81%a7%e6%a7%8b%e9%80%a0%e8%a6%8b%e5%ad%a6%e4%bc%9a%e3%82%92%e8%a1%8c%e3%81%84”
[“to_ping”]=>
string(0) “”
[“pinged”]=>
string(0) “”
[“post_modified”]=>
string(19) “2016-08-03 11:08:36”
[“post_modified_gmt”]=>
string(19) “2016-08-03 02:08:36”
[“post_content_filtered”]=>
string(0) “”
[“post_parent”]=>
int(0)
[“guid”]=>
string(32) “http://www.kobaken.co.jp/?p=4119”
[“menu_order”]=>
int(0)
[“post_type”]=>
string(4) “post”
[“post_mime_type”]=>
string(0) “”
[“comment_count”]=>
string(1) “0”
[“filter”]=>
string(3) “raw”
}
}
どうも配列が1しかないようで、狙った値を取得できていないようです。
やはりpost_typeとtagのスラッグを確認いただいた方が良いと思います。
通常は半角英数かと思います。
$schedules = get_posts( array(
‘post_type’ => ‘見学会・セミナー情報’,
‘tag’ => ‘見学会予約対象’,
‘posts_per_page’ => -1
) );
あと今コピペして気づいたのですが、シングルクォートがおかしいです。'post_type'
みたいになるはずです。
この記号はなんというのでしょう?これはこれで問題ないのでしょうか??
>>やはりpost_typeとtagのスラッグを確認いただいた方が良いと思います。
通常は半角英数かと思います。
ありがとうございます。
tagのスラッグをアルファベットに変更してみます。
それと、「見学会予約フォーム用」というカスタムフィールドの名前も変更してみます。
シングルクォートは見直して打ち直してみましたが、問題なさそうでした。
post_typeとtagのスラッグをアルファベットに変更しました。
今まで反映されていた一つ目の項目まで反映されなくなってしまい、
元に戻しました。
'tag' => '見学会予約対象'
はあっているようなんですが・・
もう一つ、今回このトピックを立ち上げましたが
フォーラムを「開発」にしてしまっているので、一度このトピックを閉じて、「テーマ」のフォーラムで
もう一度トピックを立ち上げようと思います。
ikaringさんにはいろいろご一緒に考えていただき
本当にありがとうございます。
よろしければ「テーマ」で立ち上げる新トピックにも投稿していただけますと嬉しいです。
ありがとうございました