首页 > 解决方案 > 帖子类型在“screen_options_show_screen”挂钩/过滤器中不可用

问题描述

我想在 WP 的管理端隐藏我的自定义帖子类型 (car_page) 的屏幕选项选项卡:

add_filter('screen_options_show_screen','AboutThisCar_RemoveScreenOptions');  

function AboutThisCar_RemoveScreenOptions() {                                  
 // remove "screen options" option                                     
      if ( get_query_var( 'post_type')=== 'car_page')   
         return false;
     }
 return true;  }

这适用于列出所有帖子的后索引页面,但不适用于“添加新”或“编辑”页面。我进行了很多研究和实验。对于后两页,查询字符串信息和当前屏幕信息似乎在钩子触发时尚未初始化。

标签: wordpress

解决方案


从当前屏幕获取帖子类型适用于所有页面:

get_current_screen()->post_type

在上下文中:

add_filter('screen_options_show_screen','AboutThisCar_RemoveScreenOptions');  
function AboutThisCar_RemoveScreenOptions() {                                  
 // remove "screen options" option                                     
      if ( get_current_screen()->post_type === 'car_page')   // UPDATED THIS LINE
         return false;
     }
 return true;  }

推荐阅读