web-dev-qa-db-ja.com

textareaをwp_editorに置き換える

私のサイトには、最初はコンテンツ用のシンプルなテキストエリアを使用して設計した、実用的なフロントエンドの投稿システムがあります。私は現在、textareaをTinyMCE関数wp_editorと交換しようとしています。エディターを簡単に表示して適切に機能させることができますが、フォームを送信すると、コンテンツは奇妙な方法で保存されます/保存されません。

動作は次のとおりです。最初に投稿を公開しようとすると、コンテンツが保存されないように見え、textareaが空白のままになります。投稿を編集して再度保存すると、(最初の保存からの)OLDコンテンツが魔法のように再表示され、新しいものはなくなります。その後、ランダムに何も提供されないか、古いコンテンツのみが提供されます。

私は見回しましたが、この質問を見つけることができました: wp_editor textarea value not update これは私の状況には正確に適用されず、これらのソリューションのどれが本当に何であるかはわかりません私は欲しい。

トラブルシューティングにどのコードが最適かはわかりませんが、元のテキストボックスは次のとおりです。

<textarea name="user_post_content" id="user_post_content" placeholder="Enter your content..." class="inputwide"><?PHP echo ((!empty($post_obj->post_content))?$post_obj->post_content:''); ?></textarea>

そして、これを私が置き換えたいものです:

<?php wp_editor($post_obj->post_content, 'userpostcontent', 'textarea_name=user_post_content' ); ?>

以下は、ページテンプレートファイル全体のペーストビンです。 http://Pastebin.com/tncmQGDA

誰かが助けてくれることを願っています。

1
Eckstein

設定については配列で確認してください-$settings(配列)(オプション)引数の配列。 -関数wp_editorで。

wp_editor(
    $post_obj->post_content,
    'userpostcontent',
    array( 'textarea_name' => 'user_post_content' )
)
2
bueltge

私は同じ種類のプロジェクトに取り組んでいて、このjqueryプラグインが便利だと感じました

http://jhtmlarea.codeplex.com/

よろしく

1
Himanshu Jain

まあ、私はそれを修正しました。私の投稿フォームはエラーと確認メッセージにjavascriptを使用しているためであるようです。私は最終的に私のためにこれを作成した元の開発者を手に入れ、彼はこれを追加しました:

   jQuery('#user_post_submit,#user_post_preview,#user_post_savedraft').click(function(){
        var req;
        jQuery('#user_post_content').val(tinyMCE.get('user_post_content_editor').getContent());
        switch(jQuery(this).attr('id')){
            case 'user_post_submit':
                req='publish';
                break;
            case 'user_post_savedraft':
                req='save_draft';
                break;
            case 'user_post_preview':
                req='post_preview';
                break;

        }

これにより、この機能が正常に機能しました。

wp_editor($content, 'user_post_content_editor');

とても簡単になったようです。..

しかし、すべての提案をありがとう!

0
Eckstein