拖放多个定制邮寄类型的邮购

时间:2013-11-01 作者:mchandleraz

我在一个页面上显示了两种自定义帖子类型(品牌元素和产品),客户希望能够控制页面的排序顺序。

为客户端创建一种使用拖放界面重新订购两种帖子类型的方法,最好的做法是什么?因为它们是两种不同的帖子类型,所以目前可用的插件都不合适。

3 个回复
SO网友:birgire

使用WordPress导航菜单UI获取drag/drop 免费功能。

我想在这个网站上已经有了一些答案,比我解释的更好,但我似乎找不到适合你的答案。因此,让我尝试构建一个简单的示例:

进入外观/菜单,创建menu 例如mylist 菜单id。

然后我们将帖子拖放到该菜单上并保存。

向页面/帖子内容添加以下短代码:

[wpd_list menu_id="mylist"]
使用以下代码段进行支持:

/**
 * Shortcode [wpd_list] to display posts ordered by the nav menu UI
 */
add_shortcode( \'wpd_list\', function( $atts = array(), $content = null )
{
    $atts  = shortcode_atts( 
        array( \'menu_id\' => \'\', ), 
        $atts, 
        \'shortcode_wpd_list\' 
    );
    $items = wp_get_nav_menu_items( sanitize_key( $atts[\'menu_id\'] ) );
    $ids   = wp_list_pluck( $items, \'object_id\' );   // Don\'t use db_id or page_name!
    $li    = \'\';
    $q     = new WP_Query( 
        array( 
            \'post_type\' => \'any\', 
            \'post__in\'  => (array) $ids,
            \'orderby\'   => \'post__in\',         // Must have for the correct order!
        ) 
    );
    while( $q->have_posts() )
    { 
        $q->the_post();
        $li .= sprintf( 
            \'<li><h2><a href="%s">%s</a></h2></li>\',    // Modify this HTML to your needs!
             get_permalink(), 
             get_the_title() 
        );
    }
    wp_reset_postdata();
    return ! empty( $li ) ? sprintf( \'<ul>%s</ul>\', $li ) : \'\';
} );
PS:在编写这个示例时,我一开始至少犯了两个错误;-)

我第一次忘了在posts__in 顺序,以匹配导航菜单顺序。

其次,我使用db_id 作为post ID,而不是object_id 领域

修复后,它似乎按预期运行,所以我现在就在这里发布;-)

SO网友:deflime

这不适用于您当前的设置。您需要创建一个单一的帖子类型,并通过一个自定义分类法拆分帖子,该分类法有两个术语:“品牌元素”和“产品”。这是将两种帖子类型实际组合到一个可管理列表中的唯一方法,该列表可以通过拖放重新排序。

从那里,您可以通过以下方式显示订单\'order\' => \'ASC\', \'orderby\' => \'menu_order\' 在您的查询中$args 和使用Simple Page Ordering 将其拖放到仪表板中。

此外,在注册帖子类型时,您需要包括\'hierarchical\' => \'page-attributes\'. 这样就可以对帖子进行重新排序。

SO网友:Josh Burson

使用类别。

创建一个可以应用于两种帖子类型的类别,然后使用此插件:

https://wordpress.org/plugins/custom-post-order-category/

订购该类别中的所有帖子。

不要在网站的前端显示类别,因为它的目的纯粹是为了帮助将此插件使用的两种帖子类型联系起来。

结束

相关推荐

Sort post's categories by ID

我有一个博客,其中几个帖子的类别必须先输出,然后再输出其他类别。与其他类别相比,这些类别的ID较低。我正在使用get_the_category_list 但它并没有像我预期的那样工作。这让我很困惑,因为我记得有一个主题做得很好。有人能给我指出正确的方向吗?谢谢<?php get_the_category_list( array( \'orderby\' => \'ID\', \'order\' => \'ASC\' ) ); ?>&