【问题标题】:Remove title from custom post type edit screen从自定义帖子类型编辑屏幕中删除标题
【发布时间】:2016-01-02 05:39:44
【问题描述】:

如何将remove_post_type_support('email_template', 'title'); 仅应用于帖子编辑屏幕?

标题应该在创建时可用,而不是用于编辑。

【问题讨论】:

    标签: php wordpress wordpress-theming


    【解决方案1】:

    在 WordPress 中,有一个全局变量可以检查我们在哪个屏幕上,它是 global $current_screen,但问题是它不能与 admin_init 操作一起使用。

    所以我们也可以使用load-(page) action 来实现它。

    add_action( 'load-post.php', 'remove_post_type_edit_screen', 10 );
    function remove_post_type_edit_screen() {
        global $typenow;
    
        if($typenow && $typenow === 'email_template'){
            remove_post_type_support( 'email_template', 'title' );
        }
    }
    

    你可以试试看。

    如果您有任何疑问,请告诉我。

    已编辑

    说明:如果您可以在浏览器的 URL 栏上看到,那么您可以看到当您添加新帖子时,它正在调用 post-new.php 以及您正在编辑的时间使用参数调用 post.php 的时间。

    所以我们可以利用它来达到您想要的结果。

    【讨论】:

    • 很棒的解决方案,工作正常。你能解释一下它是如何只在编辑屏幕上工作的吗?
    • 已编辑并在回答中添加了解释。
    • 感谢您的澄清。
    【解决方案2】:

    你需要在你的function.php 文件中创建一个小函数:

    add_action('admin_init', 'email_template_hide_title');
    function email_template_hide_title() {
         remove_post_type_support('email_template', 'title');
    }
    

    希望对你有帮助。

    【讨论】:

    • 我已经实现了相同的,但它也会从创建屏幕中删除标题。我不想在创建屏幕中删除标题。
    猜你喜欢
    • 2014-04-11
    • 1970-01-01
    • 2015-07-10
    • 2013-12-29
    • 2013-10-25
    • 1970-01-01
    • 2020-02-07
    • 2020-06-11
    • 1970-01-01
    相关资源
    最近更新 更多