【Snow Monkey Forms】カスタム投稿の記事タイトルをチェックボックスに自動生成する

WordPressのフォーム作成プラグイン「Snow Monkey Forms」で、カスタム投稿の記事タイトルをチェックボックスに自動生成する方法をご紹介します。

募集要項の投稿で、フォームも連動して出し入れしたい・・・

変更していくうちにサイト内で差が出て、募集要項には出ているのにお問い合わせの希望職種選択ができないよ!とならないよう、
そんな時に使える方法です!

目次

Snow Monkey Formsで設定

プラグイン画面で、チェックボックスの設置をします。
name属性はこちらで設定したものをfunction.phpに使用するのでわかりやすいものをつけると良いかと思います。

他に必要な設定はないので、その他必要なルールは各々設定してください。

function.phpに記述

※コードへの知識がある場合でないとサイトが崩れるので注意!

以下のコードを入れ込みます。
それぞれカスタム投稿タイプのスラッグ、フォームのチェックボックスname属性を個人で設置したものに入れ替えてください。

// カスタム投稿「recruit」の記事タイトルを、チェックボックスに自動生成する
add_filter( 'snow_monkey_forms/checkboxes/options', function( $options, $name, $field ) {

    // 対象のname属性を指定(コピペしたチェックボックスの名前に書き換えてください)
    if ( 'custom-post-check' !== $name ) {
        return $options;
    }

    // カスタム投稿タイプ「recruit」の記事を取得
    $posts = get_posts( [
        'post_type'      => 'recruit', // カスタム投稿タイプのスラッグ
        'posts_per_page' => -1,
        'post_status'    => 'publish',
        'orderby'        => 'date',
        'order'          => 'ASC',
    ] );

    // 選択肢の配列を初期化
    $options = [];

    if ( $posts ) {
        foreach ( $posts as $post ) {
            // セレクトボックスの成功コードと同じ手法でタイトルを取得
            $title = get_the_title( $post );
            
            // チェックボックス用に「'送信値' => '表示名'」の形で格納
            $options[ $title ] = $title;
        }
    } else {
        // 記事がない場合のフォールバック
        $options['no-post'] = '現在、募集要項はありません';
    }

    return $options;
}, 10, 3 );

以上、カスタム投稿の記事タイトルをSnow Monkey Formsのチェックボックスに自動生成する方法でした。

※公式ではないので自己責任で設定してください

参考記事

「Snow Monkey Formsのセレクトボックスにカスタム投稿タイプの記事を表示する方法」

株式会社ネディア │ネットワークの...
Snow Monkey Formsのセレクトボックスにカスタム投稿タイプの記事を表示する方法 - 株式会社ネディア │ネッ... 前回WordPressのフォームプラグイン「Snow Monkey Forms」の、デザインカスタマイズ方法をご紹介しました。 WordPressのフォームプラグイン「Snow Monkey Forms」で、どこ...
  • URLをコピーしました!
目次