web-dev-qa-db-ja.com

WordPress 4.8.1にアップグレードした後に不足しているカスタムフィールドを修正するにはどうすればいいですか?

私は異なるサイトで何度も使用したカスタムテーマを持っています。カスタムプラグインもインストールされています。 v4.8.1より前のバージョンでは、投稿を編集するときに常にwp adminのカスタムフィールドを確認できました。

4.8.1にアップデートしてから、それらを見ることができなくなりました。

投稿を編集しているときに画面のオプションをクリックしても、カスタムフィールドのオプションが表示されません。

私は開発サイトでデフォルトのWordPress 2017テーマに切り替えてみました。これを行うと、[投稿の編集]画面に移動して、画面オプションメニューの[カスタムフィールド]オプションと、そこにあるはずの他のすべてのオプションを確認できます。

2017テーマを見ているのですが、カスタムフィールドオプションを有効にするような特別なものは表示されません。

私は自分のプラグインやテーマの中にこれらのオプションを削除すべきものも見当たらない。

この問題は、WP 4.8.1にアップデートした後に発生しました。カスタムフィールドに表示/非表示を切り替えるオプションはありますか?

さらに詳細を表示するために、私のカスタム投稿タイプと標準投稿セクションの両方に、[画面オプション]のオプションとして[カスタムフィールド]が表示されていません。実際、彼らはBoxesの下に3つのことしか示していません。 「おすすめの画像、DAVのおすすめグループ、そしてスラッグ」。

私のプラグインで、これは私が持っているものです - それはクラスに包まれています:

add_action('init', array($this, 'setup_post_type'));

// Setup the custom post type for the videos
    public function setup_post_type() {
        add_theme_support('post-thumbnails');
        register_post_type('thankavet', array(
            'labels' => array(
                'name' => __('Thanks Videos'),
                'singular_name' => __('Thanks Video')
            ),
            'public' => true,
            'supports' => array('title', 'editor', 'custom-fields', 'thumbnail'),
            'has_archive' => true,
            'menu_icon' => 'dashicons-format-video',
            'rewrite' => array(
                'slug' => 'thank-you'
            )
          )
        );
      }

私はまだ掘り下げていますが、その画面オプションメニューに関連して4.8.1で何が起こったのかを誰かが知っていれば、誰かがここで何か援助を提供してくれたらとてもうれしいです。カスタムフィールドを[投稿の編集]画面に表示するだけです。

申し訳ありませんが私の携帯電話からこれを投稿しているのでフォーマットはあまりにも熱くありません。

13
Robbiegod

私は、それがWordPress 4.8.1リリースでは行われていないと思います。そうした場合、彼らのリリース5.6.0はデフォルトでデフォルトのWordPressカスタムフィールドメタボックスを隠します。

remove_wp_meta_box

V5.5.13で新しい設定を追加し、デフォルトのWPカスタムフィールドメタボックスを削除できるようにしました。簡単ですが、これは投稿編集ページのロード時間を劇的にスピードアップすることができます! Advanced Custom Fieldsバージョン5.6以降、この設定はデフォルトでtrueに設定されます

参照: https://www.advancedcustomfields.com/blog/acf-pro-5-6-0-ui-ux/

通常のWordPressカスタムフィールドのメタボックスを元に戻すには、テーマのfunctions.phpファイルに次の行を追加して、そのフィルタをfalseに戻すことができます。

add_filter('acf/settings/remove_wp_meta_box', '__return_false');

フィルタ用に__return_falseという関数を作成する必要はありません。 WordPressはすでにコア関数__return_falseを持っています。これは呼び出したときに驚くべきことにブール値falseを返しません。

参照: https://codex.wordpress.org/Function_Reference/_return_false

27
Ben HartLenn