Intereting Posts
Добавьте дополнительные поля к показанному изображению Обновить дату публикации каждого нового комментария? Как установить диапазон дат в виртуальном / загружаемом продукте? Как обернуть html вокруг API настроек add_settings_section () Как добавить сообщение из пользовательского типа сообщения в качестве статической страницы? Попытайтесь улучшить поиск WP, может ли кто-нибудь проверить мой SQL-запрос? wp_kses () разделяет атрибуты данных, даже если они находятся в разрешенном списке Как использовать инструкцию «TRUNCATE TABLE» MySQL? Повторяемый пакет конфигурации Подкатегория Easy Digital Download Не могу понять, как перезаписать файлы в дочерней теме Как добавить функцию администратора только к сообщениям, а не к страницам? детская тема не отменяет регистрацию патента javascript-файла Как отобразить подписку на Feedburner как обычный текст через короткий код в редакторе post / page моего блога WordPress? Добавьте пользовательский ходок в меню, созданное в виде виджета

Настройка виджетов в wordpress с уникальным идентификатором для аргумента after_title

Я пытаюсь получить плагин с разметкой-виджетами, чтобы каждый виджет, созданный внутри сбрасываемой области, имел уникальный идентификатор <div> после названия.

 function get_args() { $this->args = apply_filters( 'collapsible-widget-area-args', array( 'name' => __( 'Collapsible Widget Area', 'collapsible-widget-area' ), 'id' => 'collapsible-widget-area', 'description' => __( 'Drag widgets into this area in order to use them inside of the Collapsible Widget.', 'collapsible-widget-area' ), 'before_widget' => '<div id="%1$s" class="widget %2$s collapsible-item">', 'after_widget' => '</div>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2><div id="i_want_to_be_a_unique_id_for_every_widget_but_i_am_not"></div>', ) ); $this->sidebar_id = $this->args['id']; if ( ! class_exists( 'collapsible_widget' ) ) { require_once( 'class.collapsible-widget.php' ); } add_action( 'widgets_init', array( $this, 'register_widget' ) ); } 

Это функция, которая устанавливает args, но, насколько я понимаю, она называется только один раз, и аргументы применяются к каждому виджету. Может ли кто-нибудь сказать мне сейчас использовать seomthing как %1$s для before_widget или даже лучше то же самое значение в after_title ?

Весь плагин можно просмотреть в плагине wordpress svn , функция, которую я делаю выше, находится в class.collapsible-widget-area.php, и единственное, что я добавил до сих пор, это <div id="i_want_to_be_a_unique_id_for_every_widget_but_i_am_not"></div> .

Это не вопрос «напишите мне», это просто пример, который я даю. Возможно, для этого требуется полное решение, или это очень легко сделать с этим плагином, который уже расширяет класс виджетов WordPress, я не знаю.

Solutions Collecting From Web of "Настройка виджетов в wordpress с уникальным идентификатором для аргумента after_title"

Глядя на widget.php в trac sprintf() работает только на before_widget (строка 884):

 $params[0]['before_widget'] = sprintf($params[0]['before_widget'], $id, $classname_); 

Следовательно, он не будет работать ни для одного из других аргументов.

Я задавался вопросом, можно ли использовать фильтр dynamic_sidebar_params , но аргументы $ id и $ classname_ не передаются фильтру. Вне хакерского ядра я не уверен, что вы можете многое сделать, кроме как изучить модификацию Twitter-бутстрапа или использовать jQuery для добавления идентификатора после загрузки страницы.