Виждет ссылок на архивы постов разных форматов

Виждет ссылок на архивы постов разных форматов | n-wp.ru

С момента внедрения постов разных форматов часто возникают вопросы, а как их выводить? Одной из востребованных функций является возможность создания ссылок на архивы постов разны форматов. Давайте создадим виджет, который поможет решить эту задачу.

Виждет ссылок на архивы постов разных форматов

Обычным перечнем форматов постов в WordPress являются:

  • Aside – Заметка
  • Image – Изображение
  • Link – Ссылка
  • Quote – Цитата
  • Status – Статус

Эти форматы постов являются дополнительными к стандартному. Их перечень зависит от конкретной темы, разные форматы постов можно подключать и отключать. Подробнее о форматах постов: Форматы постов и вывод на главной странице постов определенного формата.

Для того, чтобы создать виджет, с помощью которого можно выводить список ссылок на архивы постов разных форматов, добавьте в файл functions.php следующий код:

// Post Format Archives Widget
add_action('widgets_init', create_function('', 'register_widget("Post_Format_Archives_Widget");'));
class Post_Format_Archives_Widget extends WP_Widget {
function __construct() {
parent::WP_Widget('post_format_archives_widget', 'Post Format Archives', array('description'=>'Список ссылок на архивы постов разных форматов'));
}
function widget($args, $instance) {
extract($args, EXTR_SKIP);
$title  = empty($instance['title']) ? ' ' : apply_filters('widget_title', $instance['title']);
$aside  = empty($instance['aside']) ? ' ' : apply_filters('widget_aside', $instance['aside']);
$image  = empty($instance['image']) ? ' ' : apply_filters('widget_image', $instance['image']);
$link   = empty($instance['link']) ? ' ' : apply_filters('widget_link', $instance['link']);
$quote  = empty($instance['quote']) ? ' ' : apply_filters('widget_quote', $instance['quote']);
$status = empty($instance['status']) ? ' ' : apply_filters('widget_status', $instance['status']);
echo $before_widget;
if (!empty($title)) { echo $before_title . $title . $after_title; };
echo '';
echo $after_widget;
}
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title']  = strip_tags($new_instance['title']);
$instance['aside']  = strip_tags($new_instance['aside']);
$instance['image']  = strip_tags($new_instance['image']);
$instance['link']   = strip_tags($new_instance['link']);
$instance['quote']  = strip_tags($new_instance['quote']);
$instance['status'] = strip_tags($new_instance['status']);
return $instance;
}
function form($instance) {
$defaults = array(
'title' => __('Форматы постов'), 
'aside' => __('Заметки'), 
'image' => __('Изображения'), 
'link' => __('Ссылки'), 
'quote' => __('Цитаты'), 
'status' => __('Статусы'),
);
$instance = wp_parse_args((array) $instance, $defaults);
$title = strip_tags($instance['title']);
$aside = strip_tags($instance['aside']);
$image = strip_tags($instance['image']);
$link = strip_tags($instance['link']);
$quote = strip_tags($instance['quote']);
$status = strip_tags($instance['status']); ?>

<label for="get_field_id('title'); ?>">Название списка <input class="widefat" id="get_field_id('title'); ?>" name="get_field_name('title'); ?>" type="text" value="" />

<label for="get_field_id('aside'); ?>"> <input class="widefat" id="get_field_id('aside'); ?>" name="get_field_name('aside'); ?>" type="text" value="" />

<label for="get_field_id('image'); ?>"> <input class="widefat" id="get_field_id('image'); ?>" name="get_field_name('image'); ?>" type="text" value="" />

<label for="get_field_id('link'); ?>"> <input class="widefat" id="get_field_id('link'); ?>" name="get_field_name('link'); ?>" type="text" value="" />

<label for="get_field_id('quote'); ?>"> <input class="widefat" id="get_field_id('quote'); ?>" name="get_field_name('quote'); ?>" type="text" value="" />

<label for="get_field_id('status'); ?>"> <input class="widefat" id="get_field_id('status'); ?>" name="get_field_name('status'); ?>" type="text" value="" />

<?php } }

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

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*