目前,我正在开发一个项目,我已经在该网站上安装了一个名为“Awesome Filterable portfolio Plugin”的Wordpress插件。这是一个以类别显示投资组合项目的插件。
该插件工作正常并且如预期的那样。但是,我的客户希望在转到投资组合页面时默认显示所有投资组合项目,而只显示一个类别中的三个投资组合项目;在我的案例'visitekaartjes'。
我已经向插件开发人员提出了这个问题,但是从未在Wordpress插件支持页面上得到回复。
我对PHP的了解有限,所以我很难完成最后一项。但是,我有一个想法,但即使在搜索和试用后,错误的几天,它没有到达尤里卡时刻。这就是为什么我在这里试试运气。
以下是代码:
$items = $wpdb->get_results('SELECT * FROM ' . $wpdb->prefix . 'afp_items ORDER BY ' . $orderby);
if( $afpOptions['sort_cat'] == 'on' ){
$orderby = ' ORDER BY cat_name';
} else {
$orderby = '';
}
$cats = $wpdb->get_results('SELECT * FROM ' . $wpdb->prefix . 'afp_categories' . $orderby);
?>
<?php
//AFP Main Container
$output='<div class="afp-clear"></div>
<div id="afp-container">';
//Start Echo Categories
$output.='<ul id="afp-filter">
';
foreach ( $cats as $cat ){
$output.='<li><a href="#" class="' . ereg_replace("[^A-Za-z0-9]", "", $cat- >cat_name) . '">' . $cat->cat_name . '</a></li>';
}
$output.='</ul>';
//End Echo Categories
//Start Echo Portfolio Items
$output.='<ul class="afp-items">';
$k = 1;
foreach ($items as $item ){
$output.='<li class="afp-single-item" data-id="id-' . $k . '" data-type="' . ereg_replace("[^A-Za-z0-9]", "", $item->item_category) .'">
<a class="fancybox" title="' . $item->item_description . '" href="' . $item->item_image . '"><img alt="" class="img-link-initial" src="' . $item->item_thumbnail . '"></a><br />
<ul class="afp-item-details">';
if($item->item_title != null) { $output.='<li><strong>' . $item->item_title . '</strong></li>'; }
if($item->item_client != null) { $output.='<li>' . $item->item_client . '</li>'; }
if($item->item_date != '0000-00-00') { $output.='<li>' . date("m/d/Y", strtotime($item- >item_date)) . '</li>'; }
if($item->item_link != null) { $output.='<li><a target="_' . $afpOptions['project_link'] . '" href="' . $item->item_link . '">Project Link</a></li>'; }
$output.='</ul>
</li>';
$k++;
}
$output.='</ul>
希望有人能帮助我。
先谢谢了,
罗兰
答案 0 :(得分:0)
实际上,portfolio
是自定义帖子类型,portfolio category
是自定义分类,用于按类别对投资组合项目进行分组。在这种情况下,要查询具有自定义分类的自定义帖子类型,WordPress
提供better and easy解决方案,例如,查询具有自定义分类(投资组合类别)design
的三个投资组合项目,您可以写一个像这样的查询
$args = array(
'post_type' => 'portfolio',
'posts_per_page' => 3,
'tax_query' => array(
array(
'taxonomy' => 'portfolio_category', // Could be anything in your case
'field' => 'slug',
'terms' => 'design'
)
)
);
$query = new WP_Query( $args );
现在你可以循环它了,
if($query->have_posts()): while()
while ($the_query->have_posts()): $query->the_post();
?><h2><?php the_title(); ?></h2><?php
endwhile;
endif;
这可能无法解答您的问题,但可以让您明确地做到这一点。
答案 1 :(得分:0)
如果您想允许访问者点击按钮并查看更多或所有项目,您可以使用JavaScript&amp; CSS。 (除非你在投资组合中有数千项) 您将容器的高度设置为1行项的高度。然后创建一个扩展此高度的按钮,一次显示一行或显示所有项目。
我实际上是在http://annual-insight.nl/referenties/上自己实现了这个。你可以查看这个文件:http://annual-insight.nl/wp-content/plugins/ai-referenties/js/air-functions.js看看我在那里做了什么。
它要求您的投资组合项目具有相同的高度。