Wordpress查询从最后发布的小部件中排除帖子格式

时间:2014-06-12 23:14:49

标签: php wordpress

我目前正在为一个项目开发一个Wordpress主题,我正在寻找一种方法从我的小部件中排除帖子格式,只是保持标准的帖子格式显示在小部件中,我不知道我要放在哪里用于排除帖子格式的代码 这是我的标签小部件的代码

<?php
add_action( 'widgets_init', 'widget_tabs_box' );
function widget_tabs_box(){
register_widget( 'widget_tabs' );
}
class widget_tabs extends WP_Widget {
function widget_tabs() {
$widget_ops = array( 'description' => 'Most Popular, Recent, Comments, Tags'  );
$this->WP_Widget( 'widget_tabs',theme_name .'- Tabbed  ', $widget_ops );
}
function widget( $args, $instance ) {
<if( empty($instance['posts_number']) || $instance['posts_number'] == ' ' || !is_numeric($instance['posts_number']))    $posts_number = 5;
    else $posts_number = $instance['posts_number'];
?>
<div class="widget" id="tabbed-widget">
    <div class="widget-container">
        <div class="widget-top">
            <ul class="tabs posts-taps">
                <li class="tabs"><a href="#tab1"><?php _e( 'Popular' , 'aya' ) ?></a></li>
                <li class="tabs"><a href="#tab2"><?php _e( 'Recent' , 'aya' ) ?></a></li>
                <li class="tabs"><a href="#tab3"><?php _e( 'Comments' , 'aya' ) ?></a></li>
                <li class="tabs" style="margin-left:0"><a href="#tab4"><?php _e( 'Tags' , 'aya' ) ?></a></li>
            </ul>
        </div>
        <div id="main-warp">
        <div id="tab1" class="tabs-wrap">
            <ul>
                             <!--latest news--> 
                <?php aya_popular_posts( $posts_number ) ?> 
            </ul>
        </div>
        <div id="tab2" class="tabs-wrap">
            <ul>
                <?php aya_last_posts( $posts_number )?> 
            </ul>
        </div>
        <div id="tab3" class="tabs-wrap">
            <ul>
                <?php  last_comments( $posts_number );?>
            </ul>
        </div>
        <div id="tab4" class="tabs-wrap tagcloud">
            <?php wp_tag_cloud( $args = array('largest' => 8,'number' => 25,'orderby'=> 'count', 'order' => 'DESC' )); ?>
        </div>
     </div> 
    </div>
</div><!-- .widget /-->
<?php
}
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['posts_number'] = strip_tags( $new_instance['posts_number'] );
return $instance;
}
function form( $instance ) {
$defaults = array( 'posts_number' => 5 );
$instance = wp_parse_args( (array) $instance, $defaults ); ?>
<p>
<label for="<?php echo $this->get_field_id( 'posts_number' ); ?>">Number of items to show : </label>
<input id="<?php echo $this->get_field_id( 'posts_number' ); ?>" name="<?php echo $this->get_field_name( 'posts_number' ); ?>" value="<?php echo $instance['posts_number']; ?>" size="3" type="text" />
</p>
<?php
}
}
?>

这是最后一个帖子功能的代码

function aya_last_posts($numberOfPosts = 5 , $thumb = true){
global $post;
$orig_post = $post;
$lastPosts = get_posts('numberposts='.$numberOfPosts);
foreach($lastPosts as $post): setup_postdata($post);
?>
<?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() && $thumb ) : ?>   
   <div class="hole-post">      
    <div class="post-thumbnail">
    <a href="<?php the_permalink(); ?>" title="<?php printf( __( 'Permalink to %s', 'aya' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php aya_thumb('aya-medium'); ?><span class="overlay-icon"></span></a>
    </div><!-- post-thumbnail /-->
<?php endif; ?>
<span class="ss-view">
        <?php echo getPostViews(get_the_ID());?>
      </span>
<div class="tabtitle"><h3><a href="<?php echo get_permalink( $post->ID ) ?>" title="<?php echo the_title(); ?>"><?php echo the_title(); ?></a></h3></div>
</li></div><?php endforeach;  $post = $orig_post;  }

1 个答案:

答案 0 :(得分:0)

如果最后的帖子部分因图像缩略图而给您带来麻烦,最快的方法是从块中删除图像。似乎函数接受第二个参数,而不是

<?php aya_last_posts( $posts_number )?> 

尝试

<?php aya_last_posts( $posts_number,false )?> 

看看它是否有效。

作为旁注:我在函数内部看到了一个结束</li>元素。我非常确定有一个意外删除的开放标签。

编辑:我看到了你的澄清。看看aya_last_posts的bennining,它说

$lastPosts = get_posts('numberposts='.$numberOfPosts);

get_posts接受参数,例如要检索的帖子数量以及类型。

只需用

替换它
$lastPosts = get_posts(array('numberposts'=>$numberOfPosts,'post_type' =>'post' ));

请参阅链接以了解您可以在get_posts上自定义的其他内容。也许您只能使用给定标签或来自给定类别的帖子。