Intereting Posts
Как проверить, был ли сайт подвергнут риску без его просмотра? Управление настройками плагина в сети Публикация сообщения при редактировании формы сообщения с нажатием клавиши ввода / возврата на клавиатуре Необходимо изменить все ссылки в содержимом страницы, но не в сообщении. Как вывести фид WordPress на сайте, отличном от WordPress? Если сообщение относится к двум категориям, как выбрать основную категорию? Как указать позицию подменю под пользовательским типом сообщения Metabox сохраняет зачистки частей короткого кода Были ли исправлены несколько запросов к категории из URL? Миграция WordPress: получение 404 ошибок: работает только домашняя страница единый вход для многостраничного сайта wordpress Получить атрибут title из галерей Изменено wp.media.view.Settings.Gallery в Backbone JS, но редактирование не работает Как получить блоги, принадлежащие пользователю? Добавление таксономии до пользовательского типа сообщения

Настройка виджетов в 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 для добавления идентификатора после загрузки страницы.