• カテゴリーにカスタムフィールドを追加したくて下記ソースをfunctions.phpに書きました。

    // カテゴリーにカスタムフィールドを追加

    add_action ( 'edit_category_form_fields', 'extra_category_fields');
    function extra_category_fields( $tag ) {
        $t_id = $tag->term_id;
        $cat_meta = get_option( "cat_$t_id");
    ?>
    <tr class="form-field">
        <th><label for="extra_text">カテゴリートップ用タイトル</label></th>
        <td><input type="text" name="Cat_meta[extra_text]" id="extra_text" size="25" value="<?php if(isset ( $cat_meta['extra_text'])) echo esc_html($cat_meta['extra_text']) ?>" /></td>
    </tr>
    <?php
    }

    // カテゴリーにカスタムフィールド追加して保存するためのコード

    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 );
        }
    }

    使えたのですが問題が発覚してfunctions.phpから削除しました。
    category.phpにそれを使ったのですが、その出力のためのソースを消し忘れていたのでエラーが出るのかと思ったら、そのカスタムフィールドのテキストが表示されていました。

    functions.phpからは削除できているし、カテゴリーにもフィールドは表示されていません。
    それなのに出力されている理由が分からず困っております。これもキャッシュになるのでしょうか?
    だとしたらどのように対処すれば良いのかご教授いただければ幸いです。

    これのせいかどうかは不明なのですが、同様のことを「Advanced Custom Fields」でやろうとして設定を済ませて、「<?php the_field(‘フィールド名’,$post_id); ?>」でやっても出力できず、これはこれで困っております…

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • データが表示されるのは、データベースにデータが残っているからではないでしょうか?
    category.phpから出力用のソースは削除されましたでしょうか?
    出力用のソースを削除されなければデータがある限り表示されます。

    あと、Advanced Custom Fieldで設定されているとのことですが、Function.phpの時とフィード名を同じにしていないでしょうか?
    一度、違うフィード名にしていただいて確認してみてもらえませんか?
    the_fieldで表示されないのはまた違う理由かもしれませんので、今は書かないでおきますね。

    もしくはおっしゃる通り、キャッシュの可能性もあるかもしれません。ブラウザを変えてみる、やブラウザのキャッシュを消して見てはいかがでしょうか?

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「functions.phpから削除した内容が反映され続けるのです」には新たに返信することはできません。