1. ホーム
  2. php

[解決済み] テキストエリアをWordPress TinyMCE wp_editor()に置き換える

2022-03-03 04:30:30

質問

textareaをwp_editor()で置き換えようとしています。

私のtextarea form要素は次のようなものです。

<textarea name="post_text" id="post_text" rows="3"><?php echo $content; ?></textarea>

では、私は。

wp_editor( $content, 'post_text' );

私が得ている問題は、フォームテキストエリアとwp_editorテキストエリアの両方がページ上に出力されることです。なぜ両方のテキストエリアが表示されるのでしょうか?私は表示される1つのテキストエリアだけが必要です。すべて正常に保存されますが、2つのテキストエリアが表示されるこの問題があります。

EDIT: 単純に display: none; をフォームのテキストエリアに追加して、wp_editor() のテキストエリアだけが表示されるようにすることはできますか?それは動作するように見えますが、少しハックしているように感じます。

どのように解決するのですか?

解決策が見つかりました。第3パラメータで引数の配列を渡せばいいのです。これはCodexで説明されているように、とても明白なことです。 http://codex.wordpress.org/Function_Reference/wp_editor

少しわかりにくいのは(私の問題の原因)、$editor_idは小文字しか使えないということです。ですから、もしあなたのフォーム処理スクリプトがアンダースコアを含むものを探しているのなら(私の場合はそうでした)、このようにする必要があります。

$settings = array( 'textarea_name' => 'post_text' )

wp_editor( $content, $editor_id, $settings );

これはできないので注意してください。

wp_editor( $content, 'post_text' );

というのは、どこで間違ったのか。