如何创建自定义网格视图

时间:2011-04-11 作者:HK1

我想创建一个网格视图,用于列出带有缩略图、主要描述标题、副标题以及可能的定价详细信息的项目。这将不一定是电子商务,因为最初将没有购物车。与帖子类似,单击该项目应该会让您看到该项目的完整“帖子”,其中包含更多信息。

想知道我在想什么,请看这里:http://www.powerzoneequipment.com/inventory_search.asp?category=engines

所以我的问题是:
1)这样的事情已经存在了吗
2)构建这样的东西有什么要求?它应该是一个与支持这一点的自定义主题相结合的插件吗?或者这可以通过自定义主题和自定义帖子类型来实现吗?

我意识到我要问的可能是Drupal之类的东西中更常见的功能。然而,我很好奇在Wordpress中获得这种类型的显示有多困难。

2 个回复
最合适的回答,由SO网友:Bainternet 整理而成

这一点也不难,它只是将您的类别循环样式化到一个表中,如下所示:

<table>
    <tr>
        <th>Photo</th><th>Item Brand, Model</th><th>Description</th><th>PSI</th><th>GPM</th><th>RPM</th><th>HP</th><th>Stock No.</th>
    </tr>
    <?php 
    while (have_posts()){
        the_post();
        ?>
        <tr>
            <td>
                <?php
                if(has_post_thumbnail()) {
                    the_post_thumbnail();
                } else {
                    echo \'<img src="\'.get_bloginfo("template_url").\'/images/img-default.png" />\';
                }
                ?>
            </td>
            <td>
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            </td>
            <td>
                <?php the_excerpt(); ?>
            </td>
            <td>
                <?php echo get_post_meta($post->ID,\'PSI\',true); ?>
            </td>
            <td>
                <?php echo get_post_meta($post->ID,\'GPM\',true); ?>
            </td>
            <td>
                <?php echo get_post_meta($post->ID,\'RPM\',true); ?>
            </td>
            <td>
                <?php echo get_post_meta($post->ID,\'HP\',true); ?>
            </td>
            <td>
                <?php echo get_post_meta($post->ID,\'Stock_No\',true); ?>
            </td>
        </tr>
        <?php
    }
    ?>
</table>
它使用文章缩略图作为图像,名称作为标题,链接到“完整文章”,摘录作为描述,并假设您有名为:PSI、GPM、RPM、HP和Stock\\u No的自定义字段。

现在完成后,您可以使用自定义帖子类型,比如您称之为产品,并使用register_post_type.

add_action(\'init\', \'custom_products_post_type_init\');
function custom_products_post_type_init() 
{
  $labels = array(
    \'name\' => _x(\'Products\', \'post type general name\'),
    \'singular_name\' => _x(\'Product\', \'post type singular name\'),
    \'add_new\' => _x(\'Add New\', \'Product\'),
    \'add_new_item\' => __(\'Add New Product\'),
    \'edit_item\' => __(\'Edit Product\'),
    \'new_item\' => __(\'New Product\'),
    \'view_item\' => __(\'View Product\'),
    \'search_items\' => __(\'Search Products\'),
    \'not_found\' =>  __(\'No Products found\'),
    \'not_found_in_trash\' => __(\'No Products found in Trash\'), 
    \'parent_item_colon\' => \'\',
    \'menu_name\' => \'Products\'

  );
  $args = array(
    \'labels\' => $labels,
    \'public\' => true,
    \'publicly_queryable\' => true,
    \'show_ui\' => true, 
    \'show_in_menu\' => true, 
    \'query_var\' => true,
    \'rewrite\' => true,
    \'capability_type\' => \'post\',
    \'has_archive\' => true, 
    \'hierarchical\' => false,
    \'taxonomies\' => array(\'category\', \'post_tag\'),
    \'supports\' => array(\'title\',\'editor\',\'author\',\'thumbnail\',\'excerpt\',\'comments\',\'custom-fields\')
  ); 
  register_post_type(\'product\',$args);
}
如果这样做,只需在循环上方添加一个简单的参数,使用query\\u post进行查询,让它知道您正在使用自定义的post类型:

query\\u posts(\'post\\u type=\'product\');

希望这有帮助

SO网友:Justin

查看本教程:http://designm.ag/tutorials/jquery-display-switch/

它可以很容易地集成到WordPress中,正如这个主题所示:
http://s51370.gridserver.com/x/

结束

相关推荐

How do you debug plugins?

我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?