我想在主页上隐藏属于特定类别的帖子,并让它只显示在侧边栏中。
我可以在主页上成功隐藏帖子,但我无法在侧边栏中显示。
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-14' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' ){
我该怎么办呢?
答案 0 :(得分:0)
使用此代码创建sidebar.php
<aside role="complementary">
//Display your Post here
<?php if ( is_active_sidebar( 'sidebar1' ) ) : ?>
<?php dynamic_sidebar( 'sidebar1' ); ?>
<?php endif; ?>
</aside>
然后你可以在你的页面中添加这样的侧边栏:
<?php get_sidebar( 'sidebar1' ); ?>
要显示某个类别的特定帖子,您可以这样做:
<aside role="complementary">
<?php
$args = array (
'post_type' => 'annonce',
'tax_query' => array (
array(
'taxonomy' => 'annonce_category',
'field' => 'slug',
'terms' => array( 'Tanzpartner gesucht', 'Tanzpartnerin gesucht' ),
'operator' => 'IN',
),
),
);
$query = new WP_Query( $args );
?>
<?php if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?>
.....
<?php if ( is_active_sidebar( 'sidebar1' ) ) : ?>
<?php dynamic_sidebar( 'sidebar1' ); ?>
<?php endif; ?>
答案 1 :(得分:0)
您可以创建短代码并将其添加到侧边栏中,这对您有用。请按照以下步骤操作: 在你的function.php中添加以下代码:
function wpb_postsbycategory() {
// the query
$the_query = new WP_Query( array( 'category_name' => 'announcements', 'posts_per_page' => 10 ) );
// The Loop
if ( $the_query->have_posts() ) {
$string .= '<ul class="postsbycategory widget_recent_entries">';
while ( $the_query->have_posts() ) {
$the_query->the_post();
if ( has_post_thumbnail() ) {
$string .= '<li>';
$string .= '<a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_post_thumbnail($post_id, array( 50, 50) ) . get_the_title() .'</a></li>';
} else {
// if no featured image is found
$string .= '<li><a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_title() .'</a></li>';
}
}
} else {
// no posts found
}
$string .= '</ul>';
return $string;
/* Restore original Post Data */
wp_reset_postdata();
}
// Add a shortcode
add_shortcode('categoryposts', 'wpb_postsbycategory');
// Enable shortcodes in text widgets
add_filter('widget_text', 'do_shortcode');
Now Add [categoryposts] shortcode in the text widget and save it.
这可能对你有用......
答案 2 :(得分:0)
一种简单的方法可能是使用此插件(https://wordpress.org/plugins/display-posts-shortcode/)。它根据不同的特征(包括类别)查询帖子。它通过使用短代码来工作。