TOP BLOG CFSのループ行の見出しをカスタマイズ【WordPress 極】
#WordPress

CFSのループ行の見出しをカスタマイズ【WordPress 極】

2024.07.23 Satoshi Yoshida

かゆいところにもうちょっと頑張って手を伸ばしてみる連載【WordPress 極】では、
WordPress のニッチなカスタマイズを紹介します。

今回は、人気プラグイン Custom Fields Suite(CFS)をより使いやすくカスタマイズしてみます。

Custom Field Suite

概要

CFSは無料版でも設定のインポート・エクスポートや、ループ機能が使える便利なプラグイン。
Advanced Custom Fields の有料版だと機能過多の時にも便利ですよね。

ループ機能に不満があるとすると、
以下の画面キャプチャのようにループ行の中身がわからないこと。

CFSの設定画面の例

アコーディオンを展開すれば中身がわかりますが、
ループ数が増えると使いづらい。(右上の目玉マークで全アコーディオンを開けられます)

このままでは順番を並び変えたい時に不便。せめて「ループ行」と書かれた見出しに、中身がわかるテキストが表示されていれば・・・!

ループ行の見出しに任意のテキストを表示するハック

管理画面にJavaScriptを追記して、ループ行の見出しを書き換える処理を行います。

テーマファイルの functions.php に以下のコードを記述

※ fieldnameはCFSの設定にあわせて書き換えてください。
CFSの設定で指定したフィールドの「名前」を入力します。
クラシックエディタでも動作しました。

/**
 * CFS のループ行で見出しに指定テキストを追記する処理
 */
add_action('admin_footer', function(){
?><script>
jQuery(function($){
    const fieldname = 'image-title'; // CFS設定画面指定したフィールドの”名前”を記入
    $('.cfs_loop .loop_wrapper').each(function(){
        // ループ毎に指定フィールドの値を取得
        const val = $(this).find(`.cfs_loop_body .field-${fieldname} > input`).val();
        if(val !== undefined && val !== '') {
            // 取得した値を見出し行に追記
            $(this).find('.cfs_loop_head > span.label').append(' ' + val);
        }
        
    })
});
</script><?php
});

これで記事編集画面を開くと、ループ行にテキストが表示されているはず。

カスタマイズ後の表示

わかりやすくなりましたね。

このコードでは記事を保存しないとループの見出しは書き換わりませんが、
「ループが多いとわかりにくい」という課題は十分解決できていると思います。

弊社 Arrival QUALITY では、Web制作だけではなく「WordPressの更新がしづらい。」「Blog運用で困っていることがある」「ECのセールの売上が伸び悩んでる」など運用についてもサポートできます。
お気軽にご相談ください。

CATEGORY
TAG
ARCHIVE