Як задати сценарії на сторінках додавання / редагування спеціальних публікацій?


23

Я намагаюся запустити сценарій JS лише тоді, коли хтось додає чи редагує створений мною тип публікації, який я створив під назвою "рецепти". В даний час сценарій працює нормально, коли я це роблю:

if (is_admin()){
    wp_enqueue_script( 'my-script' );
}

Але це завантажує його на кожній сторінці адміністратора, я припускаю, що мені потрібно підключити його до функції, але я не уявляю, що це буде.

Спасибі заздалегідь!


Для подальшого використання відповіли на подібне запитання: я вважаю, що це простіший спосіб: wordpress.stackexchange.com/q/34894/93169
Frits

Відповіді:


43

Ви можете зробити це так (покладіть у своє 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 );

Чи можу я також задати стиль за допомогою цієї функції?
Сисір

1
@Sisir Використовуйте "admin_print_styles-{$page}"гачок. $pageможе містити повний add_(sub)menu_page()код і використовувати його для націлювання на сторінку під час використання @see wp_enqueue_style().
кайзер

Більш сучасний спосіб зробити це: wordpress.stackexchange.com/a/34897/93169 (також буває трохи легше завдяки змінам функціональних можливостей Wordpress ...)
Фрітс

-2

Для цього є гачок, і він просто мертвий у використанні. Дивіться цей підручник для прикладу реалізації .

Редагувати

Джастін переніс підручники з DevPress на свій особистий сайт. Ось оновлене посилання для підручника .


Сторінка, що перерахована, відсутня. Ось дзеркало / архів на машині Wayback .
Роберт К

Дякую за це. Я оновив свою відповідь поточним посиланням.
Чіп Беннетт

3
Чому б не опублікувати тут рішення та зв’язати навчальний посібник як джерело ...
Крістін Купер

-3

Rootstheme (який заснований на Twitter Bootstrap) має дуже елегантний спосіб завантаження сценаріїв в залежності від сторінки / пост типу , як показано в roots_scripts функції , яку можна побачити тут , на GitHub .

В основному реєструйте всі ваші сценарії та стилі, після чого є умовні висловлювання, які містять ваші wp_enqueue_script або wp_enqueue_style висловлювання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.