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

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

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

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

PHP

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

Q&A

解決済

1回答

2489閲覧

ワードプレスにて、カスタム投稿のタグ情報を取り出して、MW WP Formのラジオボタンの選択肢にしたい

MK324

総合スコア9

WordPress

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

PHP

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

0グッド

0クリップ

投稿2017/06/12 08:57

編集2017/06/12 11:44

###前提・実現したいこと
商品の発送をしています。
顧客に受取り日時の候補日を提示し、選択してもらいたいと思っています。

Aさんには
1月1日
1月2日
1月3日

Bさんには
2月1日
2月2日
2月3日

というようにフォーム上で提示し、ラジオボタンで選んでもらおうと思っています。
フォームはワードプレスのMWWPFormを利用して作ります。

###質問詳細

1)カスタム投稿をつくります
2)カスタム投稿に対してReallySimplyCSVImporterを用いて必要情報を入力しページをつくります
3)その際にタグ情報に提案日時(1月1日、1月2日、1月3日というように)を入力します
4)MWWPFormにてmwform_choices_mw-wp-form-xxxのフィルターフックを使い、タグ情報をラジオボタンの選択肢にしたいです

1)〜3)はできています。
4)の関数がかけません。

###試したこと

次のWEBページを参考にさせていただき、いろいろとチャレンジしたのですができませんでした。
https://plugins.2inc.org/mw-wp-form/filter-hook/mwform_choices/
https://2inc.org/blog/2013/10/13/3743/
https://yosiakatsuki.net/blog/mwwpform-choices-custom/

カスタム投稿タイプ:daytime
MWWPFormにおいて[name]属性は'time'

<?php function add_products( $children, $atts ) { if ( $atts['name'] == 'time' ) { $times = get_posts( array('post_type' => 'daytime') ); foreach ( $times as $time ) { $children[$time->post_title] = $time->post_title; } } return $children; } add_filter( 'mwform_choices_mw-wp-form-380', 'add_products', 10, 2 ); カスタム投稿のタイトルを拾って、選択肢とするのは、参考URLを見ながらつくってみてできたんですが、複数のタグを選択肢にするのができません。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/06/12 09:31

「質問詳細」の1)から4)のうち、どの部分がどのようにわからないのでしょうか。また、ご自分で書かれたコードを記載されたほうが回答がつきやすくなると思います。
MK324

2017/06/12 11:37

ありがとうございます。追記してみます!
guest

回答1

0

ベストアンサー

こんな感じでどうでしょう。

php

1function add_products( $children, $atts ) { 2 if ( $atts['name'] == 'time' ) { 3 $products = get_posts( array( 4 'post_type' => 'daytime', 5 'posts_per_page' => -1 6 ) ); 7 foreach ( $products as $product ) { 8 $tags = get_the_tags( $product -> ID ); //タグを取得 9 if ( $tags ) { //タグがあれば 10 foreach ( (array)$tags as $tag ) { //複数タグがあるものもあるので 11 $tag = $tag -> name; //タグの名前を取得 12 $children[$tag] = $tag; //よくわかりません 13 }}} 14 } 15 return $children; 16} 17add_filter( 'mwform_choices_mw-wp-form-xxx', 'add_products', 10, 2 );

とりあえず動きました。

投稿2017/06/14 13:30

8-0_nyan5

総合スコア2352

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

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

MK324

2017/06/14 23:02

ありがとうございます!思い通りのことができました!!!本当にありがとうございます!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問