层次化定制邮政类型Walker?

时间:2017-01-11 作者:mediaguru

我花了很长时间试图让嵌套的自定义帖子类型正常工作。这是设置。我有两种自定义的帖子类型,主题和回复。我循环浏览主题,在主题循环中放置回复循环。到目前为止还不错。主题和回复显示良好。但我想以分层的方式嵌套回复。大量的阅读告诉我,我可能需要一个定制的柱型助行器。我一直在尝试做这样一个步行者,但没有成功。大多数Walker用于导航或页面,而不是自定义帖子。或者使用递归函数?

以下是当前的工作回复参数:

 $args = array(
     \'post_type\'        => \'reply\', // custom post type
     \'orderby\'          => \'menu_order\',
     \'order\'            => \'ASC\',
     \'post_parent\'      => $topic_id, //the topic
 );
 $loopReply = new WP_Query( $args );

 ////////  REPLY LOOP /////////////////////////////////////////////////////////

 while( $loopReply->have_posts() ): $loopReply->the_post(); global $post;

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

我找到了一个非常有效的解决方案。我最终复制了bbPress Reply Walker类,它是WordPress Walker类的扩展,并修改了一些参数以满足我的需要。我还必须创建自己的函数来列出回复,类似于bbPress的列表回复函数。list replies函数具有如下自定义参数:

            $args = array(
                \'post_type\'           => \'reply\',                   
                \'post_parent\'         => $postID,                   
                \'posts_per_page\'      => 50,                        
                \'orderby\'             => \'date\',                        
                \'order\'               => \'ASC\',                         
                \'hierarchical\'        => true,
                \'ignore_sticky_posts\' => true,                          
            )