• 解決済 his

    (@jyake312)


    「カテゴリー一覧」ブロックをドロップダウン表示した際の「カテゴリーを選択」という文字列をフックで変更することは可能でしょうか。

    JavaScriptを使って力技で変更することはできますが、環境によって表示の切り替わりが一瞬見えてしまうので、根本的に変更できればありがたいです。

    JS参考:

    function change_category_select_placeholder() {
    ?>
    <script type="text/javascript">
    document.addEventListener('DOMContentLoaded', function() {
    var selectElement = document.querySelector('select[name="cat"]'); // カテゴリーのselectタグ
    if (selectElement) {
    var firstOption = selectElement.querySelector('option');
    if (firstOption && firstOption.textContent === 'カテゴリーを選択') {
    firstOption.textContent = '新しいテキストに変更'; // 変更したいテキスト
    }
    }
    });
    </script>
    <?php
    }
    add_action('wp_footer', 'change_category_select_placeholder');

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは。色々方法はありますが、一番簡単そうな方法を記載します。

    カテゴリー一覧ブロックをドロップダウン表示にしたとき、内部的に wp_dropdown_categories() 関数を使用しています。 なので、その関数内にあるフックを利用するのが良いと思います。

    コードの一例を記載します。

    function change_category_dropdown_option_name( $element, $category ) {
    if ( __( 'Select Category' ) === $element ) {
    return 'カテゴリーを選択してください';
    }
    return $element;
    }
    add_filter( 'list_cats', 'change_category_dropdown_option_name', 10, 2 );

    このコードによって、カテゴリー一覧ブロック以外にどこまで影響するかは調査していませんので、自己責任でお使いください。

    トピック投稿者 his

    (@jyake312)

    @wildworks

    ご回答ありがとうございます!
    無事サイドバーウィジェットでもコンテンツ内でも問題なく反映されました。

    $show_option_none = apply_filters( 'list_cats', $parsed_args['show_option_none'], null );

    なるほど…こういうことだったんですね。
    理想通りのアプローチありがとうございました。

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