我目前正在为一个项目开发一个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; }
答案 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上自定义的其他内容。也许您只能使用给定标签或来自给定类别的帖子。