Intereting Posts
Добавить поле ко всем пользовательским типам сообщений как организовать мои категории, или я должен делать пользовательские типы сообщений для некоторых? WSoD вызван этой частью кода Перенаправление на URL страницы для нечленов Является ли get_permalink также каноническим URL? Тип персонализированного сообщения Как enqueu php-файлы с настраиваемой переменной & условными обозначениями? Просмотр категорий категорий без слова «категория» в URL-адресе WordPress permalinks и javascript перенаправление Значения полей API импорта / экспорта? Как отображать пользователей с сообщениями, опубликованными между двумя датами (Sorted by Post-Count) WP_Query или get_posts? Список страниц для отображения только вспомогательных страниц с белыми списками Получить контент по категориям или тегам Получите WordPress для использования другого пользовательского файла «author.php» («custom-author-file.php»)

Параметры плагина WordPress и jQuery

Я создаю плагин, который использует jQuery для изменения некоторого css, но я не могу понять, как вы можете управлять выполнением jQuery с плагинами WordPress (например, флажками true / false). Могут ли параметры WordPress использоваться как «переменные» в jQuery? Или каждый случай требует уникальный .js-файл?

Solutions Collecting From Web of "Параметры плагина WordPress и jQuery"

Переменная может быть передана jQuery или любому javascript, используя wp_localize_script .

Пример:

 add_action( 'template_redirect', 'prefix_enqueue_vars' ); function prefix_enqueue_vars() { $script_vars = array( 'setting_1' => get_option( 'some_option' ), 'setting_2' => get_option( 'another_option' ), ); wp_enqueue_script( 'my_script', 'path/to/script.js', array( 'jquery' ), true); wp_localize_script( 'my_script', 'unique_name', $script_vars ); } 

Как получить переменные в вашем javascript:

 jQuery(document).ready(function($) { $var_1 = unique_name.setting_1 $var_2 = unique_name.setting_2 }); 

WordPress выведет ваши переменные между <sript> </script> перед вложением файла javascript, чтобы они были доступны для использования.

См. Wp_localize_script от Отто в WordPress для получения дополнительной информации.

Редактировать:

Попробуйте добавить переменные к функции, которая возвращает значение. Я использую точный код ниже, и он работает.

 wp_localize_script( 'cmb-scripts', 'MaxChar', array( 'charlimit' => c3m_get_the_size( $excerpt_length[0] ) ) ); 

Функция, возвращающая переменные ниже:

 function c3m_get_the_size() { global $post; global $prefix; $box_size = get_post_meta( $post->ID, $prefix.'box_size', true ); if ( $box_size == 'single-single' ) { $excerpt_length = 150; } elseif ( $box_size == 'single-double' ) { $excerpt_length = 150; } elseif ( $box_size == 'single-triple' ) { $excerpt_length = 150; } return $excerpt_length; }