Я создаю тему стиля журнала (не электронная коммерция), и я хочу показать 3 последних сообщения от напр. X, категория Y и Z, где это 1-е сообщение будет с ползунком и другими 2 только заголовками. Я нашел некоторые темы аналогичного решения, но когда я изучаю код, они создали 2 цикла для каждой категории (2x3=6), и с этими 6 циклами код выглядит очень грязным. Таким образом, я решил создать функцию (напр. latest_post_from_category ($cat) ;) для показывания этого сообщения.
Здесь прибывает, вопросом является мое право решения, если да действительно имеют какие-либо советы сделать эту функцию более гибкой?
Спасибо за внимание.
Функция может стать более гибкой с помощью параметров и переключателей. пример следующий
function getPosts($type,$return = false,$amount = 4)
{
switch($type)
{
case 'comments':
//Get latest comments here
break;
case 'posts':
case 'posts-desc':
case 'posts-asc':
if($type == 'posts-asc'){ $order = 'ASC';}else{$order = 'DESC';/*default*/}
//Get posts
break;
/*(etc...etc)*/
}
}
$comments = getPosts('comments',true,5); //5 comments
$posts= getPosts('posts-desc',true,6); //5 Latest
Такие вещи могут действительно сделать дизайн единым.
В отношении этого вам действительно нужен только идентификатор поста, а wordpress предоставляет функции, так что в моем примере выше вы можете зациклиться и сделать оператор if
$i = 0;
foreach(getPosts('post-asc',true,3) as $row)
{
$i++;
if($i == 1)
{
//Show thumb for $row
if(!wct_display_thumb("width:200px;height:150px", $row->ID))
{
//Show title
}
}else
{
//Show title for $row!
}
}