|
|
|
По мотивам этого топика. Есть сайт, на странице выводятся таксономии с картинками (новостные сюжеты, допустим). Как сделать так, чтобы они ранжировались по наличию в них более свежего материала. Т.е, если в таксономию добавлена свежая статья, то она должна находится на первом месте. Если в другую таксономию добавлена более свежая статья, то первой в списке таксономий становится эта таксономия.
Нормального решения в кодексе так и не нашел. |
|
|
|
|
|
Код: |
<?php
$cat_array = array();
$args=array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 10,
'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$cat_args=array('orderby' => 'none');
$cats = wp_get_post_terms( $post->ID , 'category', $cat_args);
foreach($cats as $cat) {
$cat_array[$cat->term_id] = $cat->term_id;
}
endwhile;
}
if ($cat_array) {
foreach($cat_array as $cat) {
$category = get_term_by('ID',$cat, 'category');
echo '<a href="' . esc_attr(get_term_link($category, 'category')) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>'.'<br />';
}
}
wp_reset_query();
?>
|
|
|
|
|
|
|
Taburetkin, спасибо, завтра попробую. А как этот скрипт поведет себя, если новая запись добавлена сразу в несколько таксономий допустим (story/1/ и story/2/)? Может я не так выразился, таксономия же одна, нужно сортировать значения таксономии по наличию свежих записей, которым назначена эта таксономия
И еще, а где тут вписывать номер таксономии?
Вот примерно то, что нужно
http://www.lenta.ru/story/ |
|
|
|
|
|
в смысле таксономия одна?
у тебя слисок категорий:
Валенки
Тапки
Лапти
Ласты
ты добаляешь новый пост в категорию "Лапти" и список реформируется автоматом в:
Лапти
Валенки
Тапки
Ласты |
|
|
|
|
|
Я не про категории, Taburetkin. Категория - это отдельная таксономия, как и тэги. Т.е лапти, валенки, тапки - это значения таксономии "category".
Я про созданные мною таксономии. Вот типа как тут
В итоге, помимо /category/[namecategory] есть еще /story/[namestory]. Аргументы которой (story/1 story/2) нужно сортировать на странице story/ по свежести добавленного в эти таксономии постов. |
|
|
|
|
|
это то же самое только вид сбоку
код что выше работает и для таксономии "story" изменив "category" на "story":
Код: |
<?php
$cat_array = array();
$args=array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 10,
'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$cat_args=array('orderby' => 'none');
$cats = wp_get_post_terms( $post->ID , 'story', $cat_args);
foreach($cats as $cat) {
$cat_array[$cat->term_id] = $cat->term_id;
}
endwhile;
}
if ($cat_array) {
foreach($cat_array as $cat) {
$category = get_term_by('ID',$cat, 'story');
echo '<a href="' . esc_attr(get_term_link($category, 'story')) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>'.'<br />';
}
}
wp_reset_query();
?>
|
|
|
|
|
|
|
|
|