サポート » 使い方全般 » カテゴリにある「説明」のようなテキストエリアを追加したい

  • カテゴリにある「説明」のようなテキストエリアを追加して出力したいと思い、

    http://www.webopixel.net/wordpress/436.html

    上記ページを参考にやってみました。

    結果はカテゴリにフィールドは表示されるのですが、更新すると入力したものが消えてしまいます。
    でもこれを1行入力の「input type=”text”」にすると保存も出力できました。

    プラグインのカスタムフィールドテンプレート、Advanced Custom Fieldsを使ってみても、
    管理画面のカテゴリーではなく、投稿のカスタムフィールド部分にしか表示されませんでした。

    HTMLタグ付のテキストを入力して、タグを認識させることができるフィールドを設定し、
    かつ1行入力タイプのものも同時に使用したいと思っています。
    フィールドは表示されるのであれば、保存コードを触らないといけないのかも知れません。
    しかし今の自分では限界に来てしまいました。

    add_action ( 'edited_term', 'save_extra_category_fileds');
    function save_extra_category_fileds( $term_id ) {
        if ( isset( $_POST['Cat_meta'] ) ) {
           $t_id = $term_id;
           $cat_meta = get_option( "cat_$t_id");
           $cat_keys = array_keys($_POST['Cat_meta']);
              foreach ($cat_keys as $key){
              if (isset($_POST['Cat_meta'][$key])){
                 $cat_meta[$key] = $_POST['Cat_meta'][$key];
              }
           }
           update_option( "cat_$t_id", $cat_meta );
        }
    }

    ご教授いただければ幸いです。
    よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • Advanced Custom Fields の場合

    フィールドグループの新規追加で、位置のルールを
    その他の Taxonomy Term にして カテゴリーを選択すると設置できるのですが、できませんでしたか?

    トピック投稿者 shinkichi

    (@shinkichi)

    taku-k様
    返信が遅れてしまってすみません。
    「Taxonomy Term にして…」でうまくできました!
    これだったんですね。
    「Post Category」以外がどうしても思いつかず、これで個別のカテゴリ名を選ぶものだと思っていたので、出ないよ出ないよとはまっておりました。
    あとは、入力したものをどうやって表示させるのかを解決せねばなりません。

    <?php the_field('任意のフィールド名'); ?>

    これで出力出来るとあったのに、いっこうに出力されないものですから。

    ともあれありがとうございました!

    ちなみに Advanced Custom Fields をカテゴリーで使う場合には少しコツがありまして。

    <?php
      $cat_id = get_queried_object()->cat_ID;
      $post_id = 'category_'.$cat_id;
    ?>
    
    <?php the_field('xxx',$post_id); ?>

    みたいにしないと表示されません。

    トピック投稿者 shinkichi

    (@shinkichi)

    ありがとうございました。うまくいきましたです!

    これはこれとして、このカスタムフィールドに入力したものを下記に表示させることも目的の一つでした。
    「category-oya.php」を作り、そこに、

    <?php
    $cats_id = get_category_by_slug('oya')->term_id;
    $args = array('orderby' => 'menu_order', 'order' => 'ASC','child_of' => $cats_id,'hide_empty'=>'0' );
    $categories = get_categories($args); ?>
    <ul>
    <?php foreach($categories as $category){
    	echo '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . $category->name . '" ' . '>' . $category->name . '</a></li>';
    } ?>
    </ul>

    というソースを記載して、親カテゴリ(oya)に属する子カテゴリー一覧を表示させ、カテゴリ名の下に、カテゴリの説明テキストを表示と言うことをしたかったのです。元からある「説明」を使えばできるのですが、元からあるものは別件で使うことになっているので使えず。

    あれこれやってみたのですがうまくいかず…もう少し検証します。

    とにもかくにも重ね重ねありがとうございました!

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カテゴリにある「説明」のようなテキストエリアを追加したい」には新たに返信することはできません。