вот функция, которая у меня есть:
/**
* 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
}
is_admin
;). Есть еще?Я предпочитаю
get_current_screen()
, так как это намного проще:( Кодекс )
источник
Я хотел
enqueue script
иstyles
только на определенныхnew/edit
экранах типа сообщения. Создана функция, чтобы проверить, нахожусь ли я наedit/new-post
экране данногоCPT
.чтобы использовать функцию, передайте название типа сообщения.
источник
у меня есть эта функция
который возвращает истину на странице редактирования и ложь на других страницах ...
источник