Intereting Posts
Имеет ли значение, если у самого первого пользователя, обычно у администратора, нет идентификатора пользователя 1? Комментарий WordPress. Нужна подробная информация о таблице DB wp_comments Как подключить контейнер <head> </ head> Как получить сообщения из двух категорий с WP_Query? Как сортировать сообщения с несколькими страницами Добавить новые изображения поверх существующей галереи не ниже Это хорошая идея переименовать «index.php» в папку «wp-admin», чтобы избежать взлома? Невозможно изменить автора для себя после публикации WP_Query и помощь с петлей для главной страницы журнала Отображение выдержки после использования wpdb-запроса Как получить bbpress липкие темы Как отображать usermeta на переднем конце сайта Можно добавить заявление в основной файл? Восстановить большое количество постоянно удаленных сообщений Как получить чистый код для галереи?

Применение jquery к администратору WordPress edit.php

Мы используем последние версии WordPress с плагином Woocommerce. Я ищу лучший способ применения jquery к настраиваемым типам сообщений, таким как WC. У меня много крючков уже для Woocommerce, поэтому на данный момент я добавил несколько jquery в мета-окно, которое я ранее добавил на страницу edit.php. Например, я использую jquery, чтобы щелкнуть по кнопкам адреса, чтобы отобразить все поля адреса и скрыть кнопку возврата от пользователей, не являющихся администраторами, при загрузке страницы. Я уверен, что лучше использовать jquery, как я сейчас делаю ниже?

add_action( 'add_meta_boxes', 'my_add_meta_boxes' ); function my_add_meta_boxes(){ add_meta_box( 'woocommerce-order-my-custom', __( 'My Meta Box' ), 'order_my_custom', 'shop_order', 'side', 'default' ); } // Add fields to the metabox function order_my_custom( $post ){ //<code omitted that places fields in meta box> ?> <script type="text/javascript"> jQuery(document).ready(function ($) { $(".edit_address").click(); $(".add-line-item").click(); }); </script> <?php } 

Я использовал admin_enqueue_scripts, чтобы добавить свои собственные общие функции jquery, но каков наилучший способ добавить ваш собственный jquery к определенному типу сообщения?

Solutions Collecting From Web of "Применение jquery к администратору WordPress edit.php"

Предыдущий ответ хорошо работает с моим примером выше, используя этот крючок:

 add_action( 'admin_head', 'woocommerce_admin_init' ); function woocommerce_admin_init() { $screen = get_current_screen(); if ( $screen->post_type == "shop_order" ) { ?> <script type="text/javascript"> jQuery(document).ready(function ($) { $(".edit_address").click(); $(".add-line-item").click(); }); </script> <?php } } 

Вы можете использовать функцию get_current_screen () … она возвращает объект, содержащий много полезной информации о экране, который вы просматриваете внутри wp-admin.

Для ваших целей вам понадобится свойство post_type этого объекта, которое вернет тип сообщения, с которым работает текущий экран администратора.

 <? $screen = get_current_screen(); if ( $screen->post_type == "ENTERYOURPOSTTYPE" ) { ?> <script> JAVASCRIPT HERE </script> <? } ?> 

В вашем конкретном примере вы захотите добавить javascript, где я указал, а затем присоединить эту функцию к hook_ admin_head.

 add_action( 'admin_head', 'woocommerce_admin_init' ); function woocommerce_admin_init() { $screen = get_current_screen(); if ( $screen->post_type == "shop_order" ) { ?> <script type="text/javascript"> jQuery(document).ready(function ($) { $(".edit_address").click(); $(".add-line-item").click(); }); </script> <?php } } 

Ссылка: http://codex.wordpress.org/Function_Reference/get_current_screen