サポート » プラグイン » contactform7

  • 解決済 naito3

    (@naito3)


    管理画面のcontactform7一覧画面で、特定のフォームをテンプレートとして使用する為
    常に上部に表示するように並び順を変更したいので、phpmyadminで特定のフォームの日付を未来の日付(2020年5月20日)に変更して見ましたが並び順が変わりません。

    contactform7のフォーム一覧画面は、日付を基準に並べているのではないのでしょうか。
    フォームの一覧の並び替えの変更方法を教えていただけないでしょうか。

    よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • CG

    (@du-bist-der-lenz)

    特定のフォームというのは、よく使うということでしょう。「Contact Form 7」のことであれば、ショートコードを登録しておくことで、必要なときにすぐに使用できるでしょう。

    naito3

    (@naito3)

    お返事ありがとうございます。

    [特定のフォーム]=[ベースとなるフォーム]です。

    初めにベースとなるフォーム([テンプレートA]や[テンプレートB])を登録しておき、それをコピーしたうえでフォーム内の項目を変更して使用することを想定しております。

    —————————
    [テンプレートA]      ←テンプレート
    —————————
    [テンプレートB]      ←テンプレート
    —————————
    [テンプレートAのコピー]  ←テンプレートをコピーしたフォーム
    —————————
    [テンプレートAのコピー2]  ←テンプレートをコピーしたフォーム
    —————————
    [テンプレートBのコピー]  ←テンプレートをコピーしたフォーム
    —————————

    ishitaka

    (@ishitaka)

    こんにちは

    初期状態はタイトルでソートしているようです。
    初期状態を日付でソートするのではどうでしょうか。

    functions.php 等に

    function my_pre_get_posts( $query ) {
    	if ( is_admin() ) {
    		if ( isset( $_REQUEST['page'] ) && $_REQUEST['page'] == 'wpcf7' ) {
    			if ( !isset( $_REQUEST['orderby'] ) && $query->query['post_type'] = 'wpcf7_contact_form' ) {
    				$query->set( 'orderby', 'date' );
    				$query->set( 'order', 'DESC' );
    			}
    		}
    	}
    }
    add_action( 'pre_get_posts', 'my_pre_get_posts' );
    • この返信は5 ヶ月前に  ishitaka さんが編集しました。
    naito3

    (@naito3)

    ishitaka様
    ありがとうございます!
    先ほどテストしてみたところ目的の動作になりました。
    pre_get_postsで変更できるのですね。

    大変勉強になりました!心より感謝申し上げます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。