用Google搜索了几个小时,无法找到解决方案。
在我的theme上,您有一个Browse
页面,可以从我正在使用的自定义帖子类型中提取所有视频。如果用户制作30个类别,那么id就像用户能够使用顶部列出的类别按钮对视频进行排序。如果他们点击Horror
ID就像要循环显示所有Horror
视频。
如何在此循环中使用类别对视频进行排序?
浏览页面
我的类别ul li a
<ul class="sort-by-category">
<?
$args = array(
'orderby' => 'name',
'parent' => 0
);
$categories = get_categories( $args );
foreach ( $categories as $category ) {
echo '<li><a class="browse-categories" href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a></li>';
}
?>
</ul>
<?
// Our variables
$numPosts = (isset($_GET['numPosts'])) ? $_GET['numPosts'] : 0;
$page = (isset($_GET['pageNumber'])) ? $_GET['pageNumber'] : 0;
query_posts(array(
'posts_per_page' => $numPosts,
'paged' => $page,
'post_type' => 'theme_video'
));
// our loop
if (have_posts()) {
while (have_posts()){
the_post();
get_template_part( 'partials/content', 'browse' );
}
}
wp_reset_query();
?>
我对如何继续有点迷茫。我没有尝试任何东西似乎对循环进行排序,并且我使用的方法已经过时了1 - 2年......
网站适合我的第一个主题,但我不知道如何让这个循环按您选择的类别排序。任何提示或指示?
谢谢!
答案 0 :(得分:1)
编辑:已找到答案,我正在为有此问题的其他人发帖。如果您有更好的方法来实现这一点,请在下面发布,以便他人受益。
将此代码放入 category.php。它会自动从网址中获取类别并将其传递给cat => $category_id
并相应地更新循环。
<ul class="sort-by-category">
<?
$args = array(
'orderby' => 'name',
'parent' => 0
);
$categories = get_categories( $args );
foreach ( $categories as $category ) {
echo '<li><a class="browse-categories" href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a></li>';
}
?>
</ul>
<?
// Our variables
$page = (isset($_GET['pageNumber'])) ? $_GET['pageNumber'] : 0;
// grab slug from url
$category_id = get_query_var('cat');
// define args
$args = array(
'posts_per_page' => '36',
'paged' => $page,
'post_type' => 'theme_video',
'cat' => $category_id
);
// place args in query
$category_posts = new WP_Query($args);
// our loop
if($category_posts->have_posts()) {
while($category_posts->have_posts()) {
$category_posts->the_post();
get_template_part( 'partials/content', 'browse' );
}
}
wp_reset_query();
?>