Добавьте специальную ссылку на фильтр ко всем публикациям в admin
У меня есть слайдер избранных сообщений на главной странице моего сайта. Он отображает n
сообщения (5 прямо сейчас) из категории featured
. Если у меня есть 5 сообщений в этой категории и я публикую 6-е, самое старое из 6 не отображается в слайдере или ниже в списке всех последних сообщений. Мое решение прямо сейчас состоит в том, чтобы перейти ко всем публикациям > Опубликованным > Избранным, выбрать одну из них, чтобы отменить ее, и продолжить свою жизнь.
Я приму предложения по лучшему решению (исправьте, что рекомендуемый слайдер вероятно, достойный ответ), но то, что я ищу здесь, - это способ добавить ссылку на все сообщения, которая покажет мне все опубликованные избранные сообщения.
1 answers
Прежде всего, на вашем изображении вы можете видеть, что WordPress позволяет фильтровать сообщения по категориям, просто укажите, что вы добавили к изображению, Но если вы хотите знать, как вы можете добавить свою собственную ссылку на фильтр, вы можете использовать views_edit-post
крючок фильтра, например:
add_action('pre_get_posts', 'query_add_filter' );
function query_add_filter( $wp_query ) {
if( is_admin()) {
add_filter('views_edit-post', 'Add_My_filter');
}
}
// add filter
function Add_My_filter($views) {
global $wp_query;
unset($views['mine']);
$my_cat = YOUR-CAT-ID
$query = array(
'author' => $current_user->ID,
'post_type' => 'post',
'post_status' => 'publish',
'cat' => $my_cat
);
$result = new WP_Query($query);
$class = ($wp_query->query_vars['cat'] == 'featured') ? ' class="current"' : '';
$views['publish_f'] = sprintf(__('<a href="%s"'. $class .'>Publish Featured <span class="count">(%d)</span></a>', 'publish featured'),
admin_url('edit.php?post_status=publish&post_type=post&cat='.$my_cat),
$result->found_posts);
return $views;
}
Просто убедитесь, что вы изменили YOUR-CAT-ID
на фактический идентификатор категории