私はWordPressのウェブサイトをデザインしていて、ついに作成されたページを表示したいと思います(最近の投稿とよく似ています)
それでは、どのように私は投稿ではなくページを表示するために "最近の投稿"機能を修正することができますか?
私はrecent page
のために作られたそれがrecent posts
のために作られた既製のカスタムウィジェットを持っています。それで以下のコードでページに投稿テキストを変更してください。
徹底的に表示し、表示目的のテキストのみを変更してください。
Custom Recent Pages
完了しました。フロントエンドサイドバーでそれを見ることができます。
parent::__construct( 'cust_recentpage_widget', // Base ID __( 'Custom Recent Pages', 'text_domain' ), // Name array( 'description' => __( 'A Widget to display Recent Pages In the Website', 'text_domain' ), ) // Args );
}パブリック関数ウィジェット($ args、$ instance){if($instance['only_title'] == ''){
//echo $args['before_widget'];
echo '<aside class="col-md-4 block">';
if ( ! empty( $instance['title'] ) ) {
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];
}
if($instance['no_of_post'] == 0 || $instance['no_of_post'] == ''){
$num_of_post = 3;
} else{
$num_of_post = $instance['no_of_post'];
}
// The Query
$args = array(
'post_type' => 'page',
'post_status' => 'publish',
'posts_per_page'=> $num_of_post,
'orderby' => 'ID',
'order' => 'DESC'
);
//p($args);
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
$loop = '<ul class="data">';
while ( $the_query->have_posts() ) {
$the_query->the_post();
$strip_c = strip_tags(get_the_content());
$loop .='<li class="press-box no-list-icon">';
if(has_post_thumbnail()){
$padd_left = '';
$strlimit = 70;
$loop .= '<div class="img">'.get_the_post_thumbnail(get_the_id(),array(78,60)).'</div>';
}else{
$padd_left = 'style="padding-left: 0;"';
$strlimit = 80;
}
$content = substr($strip_c,0,$strlimit);
if(strlen(get_the_title()) > 25){
$tittle = substr(get_the_title(),0,26).'...';
}else{
$tittle = get_the_title();
}
$loop .= '<div class="details" '.$padd_left.'>
<h5 title="'.get_the_title().'">'.$tittle.'</h5>
<p>'.$content.'...</p>
</div>
</li>';
}
$loop .='</ul>';
} else {
$loop = 'No pages Yet';
}
/* Restore original Post Data */
echo $loop;
echo '</aside>';
} else{
//echo $args['before_widget'];
echo '<div class="panel panel-default">';
if ( ! empty( $instance['title'] ) ) {
echo $args['before_title'] .'<a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo" class="collapsed">'. apply_filters( 'widget_title', $instance['title'] ). '</a>' .$args['after_title'];
}
$num_of_post = $instance['no_of_post'];
if($num_of_post == ''){
$num_of_post = 3;
}
// The Query
$args = array(
'post_type' => 'page',
'post_status' => 'publish',
'posts_per_page'=> $num_of_post,
'orderby' => 'ID',
'order' => 'DESC'
);
$the_query = new WP_Query( $args );
?>
<div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
<div class="panel-body">
<div class="links">
<?php
while ( $the_query->have_posts() ) {
$the_query->the_post();
?>
<a href="<?php echo get_the_permalink();?>"><?php
if(strlen(get_the_title()) > 15) {
echo substr(get_the_title(),0,16).'...';
} else{
echo get_the_title();
}?></a>
<?php
} wp_reset_postdata(); ?>
</div>
</div>
</div>
<?php
echo '</div>';
//echo $args['after_widget'];
}
}パブリック関数形式($ instance){$title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'Recent Posts', 'text_domain' );
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Header Title:' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
</p>
<?php
$no_of_post = ! empty( $instance['no_of_post'] ) ? $instance['no_of_post'] : __( '3', 'text_domain' );
?>
<p>
<label for="<?php echo $this->get_field_id( 'no_of_post' ); ?>"><?php _e( 'Number of Posts:' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( 'no_of_post' ); ?>" name="<?php echo $this->get_field_name( 'no_of_post' ); ?>" type="number" value="<?php echo esc_attr( $no_of_post ); ?>">
</p>
<?php
$checked = ! empty( $instance['only_title'] ) ? 1 : 0;
if($checked == 1)
$check_me = 'checked="checked"';
else
$check_me = '';
?>
<p>
<label for="<?php echo $this->get_field_id( 'only_title' ); ?>"><?php _e( 'Show in sidebar in Community News Page as Toggled Slider:' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( 'only_title' ); ?>" name="<?php echo $this->get_field_name( 'only_title' ); ?>" type="checkbox" <?php echo esc_attr( $check_me );?> >
</p>
<?php
}パブリック関数の更新($ new_instance、$ old_instance){$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
$instance['no_of_post'] = ( ! empty( $new_instance['no_of_post'] ) ) ? strip_tags( $new_instance['no_of_post'] ) : '';
$instance['only_title'] = ( ! empty( $new_instance['only_title'] ) ) ? strip_tags( $new_instance['only_title'] ) : '';
return $instance;
}}?>