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

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

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

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

Q&A

解決済

2回答

2394閲覧

【wordpress】「Contact Form 7」のメールフォームページに遷移させる際に、遷移元の記事のタイトルやカスタムフィールドの値を表示

tree_tree

総合スコア22

WordPress

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

0グッド

0クリップ

投稿2016/06/27 05:55

編集2016/06/27 10:02

http://www.webantena.net/wordpress/contact-fotm-7-hidden-title/

上記のサイトを参考に
function.phpに下記を記述しましたがエラーで表示されなくなります。

なぜでしょうか?

function my_form_tag_filter($tag){ if ( ! is_array( $tag ) ) return $tag; if(isset($_POST['goods_title'])){ $name = $tag['name']; if($name == 'goods_title') $tag['values'] = (array) $_POST['goods_title']; } if(isset($_POST['goods_code'])){ $name = $tag['name']; if($name == 'goods_code') $tag['values'] = (array) $_POST['goods_code']; } return $tag; } add_filter('wpcf7_form_tag', 'my_form_tag_filter');

補足ーーーーーーーーーーーーーーーーーーー
記述している位置は間違ってないと思います。
他にも色々とfunctionに記述しているため

エラー文

Fatal error: Cannot redeclare my_form_tag_filter() (previously declared in /home/fajob/fajob00001/www/wp-vn/wp-content/themes/hemingway/functions.php:3) in /home/fajob/fajob00001/www/wp-vn/wp-content/themes/hemingway/functions.php on line 49

function my_form_tag_filter($tag){ if ( ! is_array( $tag ) ) return $tag; if(isset($_POST['goods_title'])){ $name = $tag['name']; if($name == 'goods_title') $tag['values'] = (array) $_POST['goods_title']; } if(isset($_POST['goods_code'])){ $name = $tag['name']; if($name == 'goods_code') $tag['values'] = (array) $_POST['goods_code']; } return $tag; } add_filter('wpcf7_form_tag', 'my_form_tag_filter'); //管理画面editor削除 add_action( 'init' , 'my_remove_post_editor_support' ); function my_remove_post_editor_support() { remove_post_type_support( 'post', 'editor' ); } //ショートコードを使ったphpファイルの呼び出し方法 function Include_my_php($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); include(get_theme_root() . '/' . get_template() . "/$file.php"); return ob_get_clean(); } add_shortcode('myphp', 'Include_my_php'); function my_form_tag_filter($tag){ if ( ! is_array( $tag ) ) return $tag; if(isset($_GET['goods'])){ $name = $tag['name']; if($name == 'goods') $tag['values'] = (array) $_GET['goods']; } return $tag; }

49行目まで記載
一番下の
function my_form_tag_filter($tag)・・・を消すと
エラーは消えます。

何が原因なんでしょうか?

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

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

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

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

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

kei344

2016/06/27 07:58

エラーの内容も追記ください。また、コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
tree_tree

2016/06/27 09:09

コードブロックを追加しました。 また、エラーはfunctionのエラーなので真っ白になるだけでエラーメッセージはありません。
tree_tree

2016/06/27 09:40

ありがとうございます! エラー文が表示されました Fatal error: Cannot redeclare my_form_tag_filter() (previously declared in /home/fajob/fajob00001/www/wp-vn/wp-content/themes/hemingway/functions.php:3) in /home/fajob/fajob00001/www/wp-vn/wp-content/themes/hemingway/functions.php on line 49
tree_tree

2016/06/27 09:45

解決できるかもしれません。
kei344

2016/06/27 09:54

エラー文は質問文に追記していただけますか?また、解決できた場合は解決方法を解答欄に書いた上で「解決済」にしていただけませんか?よろしくお願いします。
tree_tree

2016/06/27 10:03

エラー文追加しました。原因は不明です。
guest

回答2

0

my_form_tag_filter という同じ関数名が二つありますが、なにか理由はありますか?

投稿2016/06/27 10:18

CHERRY

総合スコア25171

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

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

tree_tree

2016/06/27 10:22

my_form_tag_filter、確認したら2つありますね。 コンタクトフォームに値を取得するために入れたと思いますが 現在は使ってません。 同じ関数二つが原因なんでしょうか?
guest

0

ベストアンサー

「Fatal error: Cannot redeclare」は同じ関数名を2回以上使うと出るエラーだったと思います。必要ないほうの関数を別名に変えればエラーは解決できます。

投稿2016/06/27 10:32

kei344

総合スコア69364

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問