Intereting Posts
Как добавить фильтр только к экземпляру класса? Динамически добавлять / дублировать пользовательскую мета в пользовательских типах сообщений Фильтр инструментов загрузки WordPress 3.5+ Ярлык для редактирования виджета / боковой панели в меню администратора? Устранить многопользовательские сети MultiSite добавить строку в пейджинге в URL-адрес Почему только одно сообщение (и не разбиение на страницы) на этот вариант цикла? Удаление боковой панели на страницах категорий Удалите -2 из URL; нет дубликатов страниц, нет изображений, нет страниц в корзине Перенаправление на woocommerce checkout после добавления в корзину товара уже в корзине Плагин для управления событиями? Получать сообщения от таксономии URL Несколько категорий с общими подкатегориями Функция обмена акциями Facebook в цепочке wordpress wpdb-> get_row () / get_results – возможно ли вернуть экземпляры объектов моего собственного класса?

Добавить уникальные классы для следующего и предыдущего в WP_LINK_PAGES

Я использую функцию ниже для wp_link_pages. Его можно посмотреть здесь.

Я хотел бы добавить класс к предыдущей ссылке и классу к следующей ссылке, чтобы их можно было создать индивидуально. Я не профессионал в WP-функциях, и мне любопытно, как правильно это сделать. Я всегда могу просто отгонять divs вокруг каждого, но кажется, что может быть лучший способ сделать это.

// WP_LINK_PAGES: Add prev and next links to a numbered link list add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add'); function wp_link_pages_args_prevnext_add($args) { global $page, $numpages, $more, $pagenow; $args['before'] = '<div id="link_wrap">'; $args['after'] = '</div>'; $args['link_before'] = '<span class="classlinks">'; $args['link_after'] = '</span>'; if($page-1) // there is a previous page $args['before'] .= ' '. _wp_link_page($page-1) . $args['link_before'] . $args['previouspagelink'] . $args['link_after'] . '</a>' . ' ' ; if ($page<$numpages) // there is a next page $args['after'] = ' '. _wp_link_page($page+1) . $args['link_before'] . $args['nextpagelink'] . $args['link_after'] . '</a></div>' ; return $args; } 

Во-первых, я бы добавил заполнитель строки для форматирования строки в link_before, вот так …

 $args['link_before'] = '<span class="classlinks %s">'; 

Затем я бы использовал sprintf (), чтобы вставить соответствующий класс для соответствующей ссылки (предположим, что классы будут «link-before» и «link-after» соответственно). Вот так…

 if($page-1) // there is a previous page $args['before'] .= ' '. _wp_link_page($page-1) . sprintf($args['link_before'],'link-before') . $args['previouspagelink'] . $args['link_after'] . '</a>' . ' ' ; if ($page<$numpages) // there is a next page $args['after'] = ' '. _wp_link_page($page+1) . sprintf($args['link_before'],'link-after') . $args['nextpagelink'] . $args['link_after'] . '</a></div>' ; 

Вы можете сделать это либо с помощью JavaScript / jQuery, либо с помощью селекторов CSS.

Хитрость заключается в том, чтобы получить первый и второй элемент <a> внутри обертки. Использование CSS это будет что-то вроде #ID-OF-YOUR-WRAPPER a:firstchild { YOUR STYLE HERE } .