Intereting Posts
Почему слово <newline> не отображается в wordpress? Собирать данные из пункта NEXT во время цикла Проблема с пользовательским WP_Query и базой pagination / posts_per_page Как удалить «Нажмите здесь, чтобы отменить ответ» Ссылка из формы комментария WordPress Объединение the_excerpt с the_content Последние сообщения виджет без заголовка Ошибка ресурса 404 при установке подкаталога multisite Как добавить флажок и переключатель в страницу профиля Рекомендуемый способ загрузки / вставки родительской и дочерней таблиц стилей для включения кэширования Как изменить аудио-плейлист, чтобы получить описание ACF повторяет цикл while, определяя максимальное число для цикла Включить одно пользовательское поле в результаты поиска таможенные таксономии на постоянной основе Страница в качестве родителя для CPT и других страниц Нельзя использовать pre_set_site_transient_update_themes из темы в многопользовательском режиме

Как определить, добавляем ли мы новую страницу / сообщение / CPT или на странице редактирования / публикации / CPT в wordpress admin?

Это похоже на простую вещь, но мне нужен способ определить, является ли текущий экран для добавления нового или редактирования (своего рода текстовый тег wordpress admin). Есть ли встроенная функция для этого уже или любая идея, как это сделать?

вот функция, которая у меня есть:

/** * 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, чтобы проверить конкретную страницу редактирования типа сообщения:

 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 }