[WordPress] PHP でフォームを表示します。

スポンサーリンク

Question

私はワードプレスの php のフォームを表示しようとしています。カスタムフィールドを使用しているのですが、うまくいきません。

/*
* The form for adding custom fields on the options page.
*/
function fcpetition_fieldform($po) {
?>
<form method=”post” action=”<?php echo str_replace( ‘%7E’, ‘~’, $_SERVER[‘REQUEST_URI’]); ?>”/>
<input type=”radio” name=”addfield” value=”yes”/>
<input type=”dropdown” name=”petition_select” value=”<?php echo $po; ?>”/>
<input type=”dropdown” name=”editpetition” value=”<?php print $po;?>”>
Type: <select name = “fieldtype”>
<option value=”text”>Text box</option>
<option value=”select”>Drop down box</option>
</select>
Name:<input type=”text” name=”fieldname”/>
Options:<input type=”text” name=”options”/>
Publish field <input type=”checkbox” name=”hide” checked/>
<input type=”submit” name=”Submit” value=”<?php _e(“Add”,”fcpetition”)?>”/>
</form>
<?php
}

私編集 w/o オリジナル コード:

 /*
* The form for adding custom fields on the options page.
*/
function fcpetition_fieldform($po) {
?>
<form method=”post” action=”<?php echo str_replace( ‘%7E’, ‘~’, $_SERVER[‘REQUEST_URI’]); ?>”/>
<input type=”hidden” name=”addfield” value=”yes”/>
<input type=”hidden” name=”petition_select” value=”<?php echo $po; ?>”/>
<input type=”hidden” name=”editpetition” value=”<?php print $po;?>”>
Type: <select name = “fieldtype”>
<option value=”text”>Text box</option>
<option value=”select”>Drop down box</option>
</select>
Name:<input type=”text” name=”fieldname”/>
Options:<input type=”text” name=”options”/>
Publish field <input type=”checkbox” name=”hide” checked/>
<input type=”submit” name=”Submit” value=”<?php _e(“Add”,”fcpetition”)?>”/>
</form>
<?php
}

答え

ヒアドキュメントを使うと便利です。

function echoForm() {
$html = <<<FORM
// html code here
FORM;

echo $html;
// or
return $html;
}

答え

HTML フォームを出力する必要がありますが、HTML は、PHP の関数で書かれているあなたのケースで動作することはできません。PHP 関数は、

return

/

echo

/

print

、コンテンツする必要があります。また、

heredoc

を使用することができます。

あなたのテーマのフォルダーの”function.php”ファイルにこの関数を追加する必要があります。

<form>

タグの「アクション」属性で何をしているかを理解できません。このデータの処理は、「アクション ファイル」を参照する必要があります。

私は通常 WordPress フォルダーのルートに”action.php”ファイルを作成し、次を使用します。

<form action=”action.php” method=”post”>…</form>

それは特定の主題に関連していないと WordPress 更新機能によって更新されるべきではないので、テーマのフォルダーにアクション ファイルを置くべきではない。

http://stackoverflow.com/questions/27842975/displaying-form-in-php

スポンサーリンク

Leave a Reply