サポート » 使い方全般 » カテゴリーの最初の文字列を省いて表示したい2

  • 解決済 nyan2taro2

    (@nyan2taro2)


    こちらのトピックを見ました。
    http://ja.forums.wordpress.org/topic/1162?replies=5

    まさに私がやりたいことで参考にしましたが、不明点があります。

    function rem_number($cat_name) {
                 $numless = mb_strcut("$cat_name",3);
                 return $numless;
    }

    ↑こちらの関数はどこに書けばいいのでしょうか?

    add_filter('list_cats','rem_number');

    ↑同じく、これはどこに記載するのでしょうか?

    初歩的な質問ですいませんがよろしくお願いいたします。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • こんにちは、

    テーマのfunctions.phpに双方記述してみてください。
    PHPコードなので、PHPのコード区間に記述します。

    エラーが発生すると管理画面に入れなくなりますので、ご自身でよく検討してください。

    PHPの理解が必須です。

    トピック投稿者 nyan2taro2

    (@nyan2taro2)

    nobita様
    ご回答ありがとうございます。

    早速試しているのですが、なぜかうまくいきません。

    カテゴリは
    wp_list_categories
    を使って表示させています。

    試しに
    add_filter('wp_list_categories','rem_number');
    で試してみたのですがダメでした。
    何か根本的に間違えているのでしょうか?

    nobitaさんが書いてくだっさっていますが、両方書いてくださいね。

    トピック投稿者 nyan2taro2

    (@nyan2taro2)

    Pineapplen様

    ありがとうございます。
    一応両方共functions.phpに書いております。
    何か吐き出す方のテーマの書き方が悪いような気がします。
    もう少しいろいろと試してみます。

    また一つこれに関して教えてください。
    add_filter('list_cats','rem_number');

    こちらですが、いろいろと調べているとlist_catsは、使用非推奨とありました。
    この場合、list_catsは使わないほうがよろしいでしょうか?

    すいませんが、よろしくお願いいたします。

    ダブりましたので、消しました

    以下のコードで動作確認しました

    私の環境では、うまく動作しました

    <?php
    add_filter( 'list_cats', 'my_list_cats' );
    
    function my_list_cats( $content ){
    	$content = mb_substr($content,3);
        return $content;
    }
    ?>

    参照元が、mb_strcutを使っているのに、mb_substrを使っていますが、
    PHP関数も調べてみてください。

    いろいろと調べているとlist_catsは、使用非推奨とありました。
    この場合、list_catsは使わないほうがよろしいでしょうか?

    function list_cats は 2.1で非推奨になりました。

    でも、nyan2taro2さんが書いているコードは、function list_catsではありません

    紛らわしいと思いますが、list_cats というフィルタを使っているという事を理解してください

    add_filter('wp_list_categories','rem_number');
    闇雲にやらないで、理解しながら進めたほうが早いです

    せっかくなので

    add_filter('wp_list_categories','esc_html');

    どうですか?
    wp_list_categoriesというフィルタで得られるhtmlソースです。

    トピック投稿者 nyan2taro2

    (@nyan2taro2)

    nobita様

    詳細な説明ありがとうございました。
    今日1日いろいろ調べながら試していて、だんだんと意味が分かって来ました。

    参考までにフィルタについて分かりやすい説明が載っていたURLを記載しておきます。
    他の方にも参考になればと思います。
    ■参考サイト:アクションフックとフィルタフックについて
    http://webdesignrecipes.com/wordpress-action-hook-and-filter-hook/

    お手数ですが、もう一つ教えてください。

    $categories = get_categories('hide_empty=0&parent=0');
            foreach($categories as $category) :
            ?>
            <h2><?php echo esc_html($category->cat_name); ?></h2>

    このような形でカテゴリ名を出している場合はこのフィルタを適用することはできませんか?

    お手数ですが、よろしくお願いいたします。

    <?php
    function my_list_cats( $content ){
    	$content = mb_substr($content,3);
        return $content;
    }
    
    $categories = get_categories('hide_empty=0&parent=0');
    foreach($categories as $category) :
            ?>
    <h2><?php echo my_list_cats($category->cat_name); ?></h2>

    get_categoriesは、3.0で非推奨です

    トピック投稿者 nyan2taro2

    (@nyan2taro2)

    nobita様

    ソースありがとうございました。
    これでばっちり思い通りに行きました。感謝いたします。

    「get_categoriesは、3.0で非推奨です 」

    そうなのですね。
    こちらは全然知りませんでした。今まで通り使っていました。
    いろいろと変更が多く、がんばってついて行かないとダメですね。

    いろいろと勉強になりました。
    本当にご親切にありがとうございました。

    これからもよろしくお願いいたします。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「カテゴリーの最初の文字列を省いて表示したい2」には新たに返信することはできません。