Как добавить параметр в скрипт очереди wp?


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

  • Мой плагин chesstempoviewer, который содержит библиотеку JavaScript для использования в WP.
  • Там я добавляю необходимые библиотеки с помощью wp_enqueue_script.
  • Я хотел бы интернационализировать вывод средства просмотра, который описан здесь.

Таким образом, чтобы использовать это интернационализация, я должен включить соответствующий скрипт в зависимости от языкового стандарта, который следует использовать. Это, конечно, должно быть определено пользователем, поэтому у пользователя должна быть возможность сделать что-то вроде:

[ctlocale locale="de_DE"][/ctlocale]
[ctpgn] 1. e4 e5 2. Nf3 ... [/ctpgn]

, что должно привести к выходу для ходов:

1. e4 e5 2. Sf3

S для Springer по-немецки вместо N для Night по-английски.

Мой код в настоящее время выглядит так:

function pgnviewer_js_and_css(){
  wp_enqueue_script("jquery");
  wp_enqueue_script('pgnyui', 'http://chesstempo.com/js/pgnyui.js');
  wp_enqueue_script('pgnviewer', 'http://chesstempo.com/js/pgnviewer.js');
  wp_enqueue_style('pgnviewer-css', 'http://chesstempo.com/css/board-min.css');
  wp_enqueue_style('ctpgn', plugins_url('ctpgn.css', __FILE__));
}

add_action('wp_enqueue_scripts', 'pgnviewer_js_and_css');

function chessTempoViewer($attributes, $content = NULL) {
  ..
}

Как я мог бы включить дополнительный тег ctlocale, как в приведенном выше примере (в качестве первая запись), чтобы убедиться, что сценарий включен раньше других сценариев?

Author: mliebelt, 2014-04-20

1 answers

Короткие коды неудобны для таких вещей, потому что они обрабатываются в контенте, после заголовка сайта. Однако, поскольку вам не нужно иметь дело со стилями, только со сценарием, это немного проще, переместив материал в нижний колонтитул.

Ваша логика будет примерно такой:

  1. Шорткод локали каким-то образом сохраняет запрошенную локаль.
  2. В какой-то момент между содержимым и нижним колонтитулом вы регистрируете и ставите в очередь сценарии, делая сценарий локали зависимым от основного скрипт.
  3. WP достигает нижнего колонтитула, разрешает сценарии, поставленные в очередь, и распечатывает их для вас.
 1
Author: Rarst, 2014-04-20 12:13:02