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

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

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

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2454閲覧

MW WP formを使いリンク元ページのカスタムフィールド項目を初期値としたい

xminimx

総合スコア53

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

1グッド

0クリップ

投稿2020/03/13 02:56

編集2020/03/13 04:51

WordpressでMW WP formを導入したフォーム画面を作成しています。
URL引数を有効にし、リンク元ページのカスタムフィールドをvalueの初期値を決めたくて
こちらを参考に以下のコードを記述しました。

html

1<dl id="shop" class="form"> 2 <dt class="form_name">希望店舗<span class="must">必須</span><span class="error_message">必須情報を入力してください。</span></dt> 3 <dd class="form_input">[mwform_select name="shop" class="form_select shop_sel required" value="{form-shop}" children=",A店,B店,C店,D店,E店"]</dd> 4</dl>

しかし何かがおかしいようで、ページ推移をしてもshopのvalueは空白(従来の初期値)のままです。
functipn.phpに何か記述する必要があるのでしょうか?
初歩的な問題かもしれませんがご教授のほどお願いします。


追記 以下の内容をfunction.phpに記述しています。

php

1//直前のページのステータスを取得 2function autoback_my_mail( $Mail_raw, $values, $Data ) { 3 if ($Data->get( 'shop' ) == 'A店'){ 4 $Mail_raw->to = 'a@gmail.jp'; 5 } else if ($Data->get( 'shop' ) == 'B店'){ 6 $Mail_raw->to = 'b@gmail.jp'; 7 } else if ($Data->get( 'shop' ) == 'C店'){ 8 $Mail_raw->to = 'c@gmail.jp'; 9 } else if ($Data->get( 'shop' ) == 'D店'){ 10 $Mail_raw->to = 'd@gmail.jp'; 11 } else if ($Data->get( 'shop' ) == 'E店'){ 12 $Mail_raw->to = 'e@gmail.jp'; 13 } 14 return $Mail_raw; 15} 16add_filter( 'mwform_admin_mail_mw-wp-form-201', 'autoback_my_mail', 10, 3 );//各店舗のアドレスに届く

追記 今気づいたのですが参考にしたリンク先ではtextareaの初期値を設定していますね…セレクトボックスでは初期値は設定できないのでしょうか。またカスタムフィールドの名前は追加した際に決めたもので合っているでしょうか?

s.k👍を押しています

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

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

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

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

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

CHERRY

2020/03/13 03:10

おそらく何かの手順か内容が抜けていると思いますが、質問の内容からは判断できません。 参考サイトの内容をもとにして、ご自身のテーマに追加した内容を全て質問に追記していただけないでしょうか。
xminimx

2020/03/13 03:12

コメントありがとうございます。 追加した内容というのは、function.phpにということでしょうか?
guest

回答2

0

まず、mwform_admin_mail_mw-wp-form-xxx

管理者宛メールの内容をカスタマイズできるフックです。{xxx}がパースされ、フォームから送信された内容に変換された状態で渡されます。
このフックは問い合わせデータをデータベースに保存した後に実行されるため、メールで送信される内容とデータベースに保存される内容を同じにしたい場合はこのフックを使用するべきではありません。

とあるように MW WP FORM が、表示される時ではなく、メールを送信する直前に呼び出されるフックです。

セレクトボックスの選択肢の操作であれは、mwform_choices_mw-wp-form-xxxフックに、初期値の設定は、mwform_value_mw-wp-form-xxxフックになると思います。

投稿2020/03/13 05:09

CHERRY

総合スコア25171

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

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

xminimx

2020/03/13 05:19

回答ありがとうございます。ご提示いただいたリンク先も調べているときに拝見しました。 mwform_admin_mail_mw-wp-form-xxxは問題なく動作できております。 mwform_value_mw-wp-form-xxxが今回求めている動作に近いと考え、 function my_mwform_value( $value, $name ) { // $_GET['hoge']があったら、name属性がhogeの項目の初期値に設定 if ( $name === 'shop' && !empty( $_GET['shop'] ) && !is_array( $_GET['shop'] ) ) { return $_GET['shop']; } return $value; } add_filter( 'mwform_admin_mail_mw-wp-form-201', 'my_mwform_value', 10, 2 ); と記述したのですが、何も変わりません。 リンク元固定ページのカスタムフィールドに「希望店舗」という名前で「A店」の値を入力し、 この値をフォームのname="shop"の初期値として入れたいのですが…まだまだ難航しております。
CHERRY

2020/03/13 07:30

> フォーム項目のショートコードを記述するときにvalue値が設定されているとフックが実行されないので注意してください。 とありますが、フォームの方で、value をつけていたりしないでしょうか?
xminimx

2020/03/17 00:56

お返事遅くなりすみません。こちら、自己解決いたしました。 URL引数についての理解が足りず初歩的なミスでした。 ご指導ありがとうございました。
guest

0

自己解決

こちら自己解決いたしました。
URL引数は、リンク先を <a href="/?post_id=<?php echo $post->ID ?>">とする必要があったのですね。
格好が悪いかと思い、post_idを使っていませんでした。

投稿2020/03/17 00:59

xminimx

総合スコア53

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問