升级到WordPress 4.8.1后如何解决缺少的自定义字段?


13

我有一个自定义主题,在不同站点上使用了很多次。我还安装了一个自定义插件。在v4.8.1之前,当我编辑帖子时,我总是能够在wp admin中看到自定义字段。

自更新至4.8.1之后,我不再能够看到它们。

当我编辑帖子时,单击屏幕选项,在此看不到自定义字段选项。

我尝试在开发站点上切换到默认WordPress 2017主题。完成此操作后,我可以转到“编辑帖子”屏幕,并在屏幕选项菜单中看到“自定义字段”选项以及应该存在的所有其他选项。

我正在查看2017年主题,但在那里没有看到任何启用自定义字段选项的特殊内容。

我在插件或主题中也看不到任何应删除这些选项的内容。

我更新到WP 4.8.1之后出现了此问题。自定义字段是否有新的显示/隐藏选项?

只是为了显示更多详细信息,我的自定义帖子类型和标准帖子部分都没有在“屏幕选项”下的选项中显示“自定义字段”。实际上,它们仅在“框”下显示三件事。“精选图片,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发生了什么,如果有人在这里提供一些帮助,我将非常感激。我只想让自定义字段显示在“编辑帖子”屏幕中。

抱歉,我是从手机上发布此消息的,因此格式化不是太热。


1
我认为这样做不是WordPress 4.8.1版本:但是,您是否安装了“高级自定义字段”?他们的版本5.6.0在默认情况下隐藏了默认的WordPress自定义字段元框。“ remove_wp_meta_box我们在v5.5.13中添加了一个新设置,允许删除默认的WP自定义字段元框。尽管很简单,但这可以大大加快后期编辑页面的加载时间!从Advanced Custom Fields 5.6版开始,此设置将默认情况下设置为true。” advancedcustomfields.com/blog/acf-pro-5-6-0-ui-ux
Ben HartLenn '17

您可能是对的,让我调查一下。谢谢!
罗比戈德(Robbiegod),

@BenHartLenn的评论是解决方案。(应该将其转换为答案)
Attila Fulop

感谢您的提示@AttilaFulop,我已将评论扩展为答案。
Ben HartLenn '17

Answers:


28

我认为这样做不是WordPress 4.8.1版本:但是,您是否安装了“高级自定义字段”?如果这样做,默认情况下,其版本5.6.0会隐藏默认的WordPress自定义字段元框。

remove_wp_meta_box

我们在v5.5.13中添加了一个新设置,允许删除默认的WP自定义字段元框。尽管很简单,但这可以大大加快帖子编辑页面的加载时间!从高级自定义字段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_falsefalse当被调用时它不会意外地返回布尔值。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.