0

目前我正在做一个项目,我在网站上安装了一个名为“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>

希望有人可以帮助我。

先谢谢了,

罗兰

4

2 回答 2

0

如果您想允许访问者单击按钮并查看更多或所有项目,您可能应该使用 JavaScript 和 CSS 实现此客户端。(除非您在投资组合中有数千个项目)您将容器的高度设置为 1 行项目的高度。然后创建一个按钮来扩展这个高度,一次显示一行或显示所有项目。

我实际上在http://annual-insight.nl/referenties/上实现了这个你可以检查这个文件:http ://annual-insight.nl/wp-content/plugins/ai-referenties/js/air-functions .js看看我在那里做了什么。

它要求您的投资组合项目具有相同的高度。

于 2013-09-04T12:49:52.803 回答
0

实际上,portfolio是自定义帖子类型,portfolio category是自定义分类法,用于将投资组合项目分组。在这种情况下,要使用自定义分类法查询自定义帖子类型,WordPress提供了更好更简单的解决方案,例如,要使用自定义分类法(投资组合类别)查询三个投资组合项目,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;

这可能不会回答您的问题,但会为您提供正确执行此操作的想法。

于 2013-09-04T12:14:35.643 回答