Как подключить скрипты на страницах добавления/редактирования произвольных типов записей?
Я пытаюсь подключить JavaScript скрипт только когда кто-то добавляет или редактирует созданный мной произвольный тип записи "recipes". Сейчас скрипт работает, когда я делаю так:
if (is_admin()){
wp_enqueue_script( 'my-script' );
}
Но это загружает скрипт на каждой странице админки. Полагаю, мне нужно привязать его к определенной функции, но я не знаю к какой.
Заранее спасибо!

Вы можете сделать это следующим образом (добавьте в ваш файл functions.php
):
function add_admin_scripts( $hook ) {
global $post;
if ( $hook == 'post-new.php' || $hook == 'post.php' ) {
if ( 'recipes' === $post->post_type ) {
wp_enqueue_script( 'myscript', get_stylesheet_directory_uri().'/js/myscript.js' );
}
}
}
add_action( 'admin_enqueue_scripts', 'add_admin_scripts', 10, 1 );

@Sisir Используйте хук "admin_print_styles-{$page}"
. Переменная $page
может содержать полный код add_(sub)menu_page()
и затем использоваться для таргетинга страницы при использовании @see wp_enqueue_style()
.

Более современный способ сделать это: http://wordpress.stackexchange.com/a/34897/93169 (кстати, стал немного проще благодаря изменениям в функционале WordPress...)

Для этого есть хук, и его использование очень просто. Смотрите этот туториал для примера реализации.
Редактирование
Джастин перенес свои туториалы с DevPress на свой персональный сайт. Вот обновленная ссылка на туториал.

Указанная страница удалена. Вот зеркало/архив на Wayback Machine.

Почему бы не опубликовать решение здесь и не указать учебник в качестве источника...

Rootstheme (основанный на Twitter Bootstrap) имеет действительно элегантный способ загрузки скриптов в зависимости от типа страницы/записи, как видно в функции roots_scripts которую можно посмотреть здесь на github.
По сути, регистрируете все ваши скрипты и стили, а затем используете условные операторы для обертки ваших вызовов wp_enqueue_script или wp_enqueue_style.
