问题描述
这似乎很简单,但是我需要确定当前屏幕是添加新的还是编辑的 (一种 wordpress 管理条件标签) 。有没有一个内置的功能已经,或… 任何想法如何完成?
最佳解决方案
这是我有一个功能:
/**
* is_edit_page
* function to check if the current page is a post edit page
*
* @author Ohad Raz <admin@bainternet.info>
*
* @param string $new_edit what page to check for accepts new - new post page ,edit - edit post page, null for either
* @return boolean
*/
function is_edit_page($new_edit = null){
global $pagenow;
//make sure we are on the backend
if (!is_admin()) return false;
if($new_edit == "edit")
return in_array( $pagenow, array( 'post.php', ) );
elseif($new_edit == "new") //check for new post page
return in_array( $pagenow, array( 'post-new.php' ) );
else //check for either new or edit
return in_array( $pagenow, array( 'post.php', 'post-new.php' ) );
}
使用的用法很简单,就像任何其他条件标签一样,几个例子:
检查新的或编辑页面:
if (is_edit_page()){
//yes its an edit/new post page
}
检查新帖子页面:
if (is_edit_page('new')){
//yes its an new post page
}
检查编辑帖子页:
if (is_edit_page('edit')){
//yes its an new post page
}
将其与 $typenow
全局相结合,以检查特定的帖子类型编辑页面:
global $typenow;
if (is_edit_page('edit') && "Post_Type_Name" == $typenow){
//yes its an edit page of a custom post type named Post_Type_Name
}
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。