web-dev-qa-db-ja.com

Postの代わりにRecent Pageを表示するにはどうすればいいですか?

私はWordPressのウェブサイトをデザインしていて、ついに作成されたページを表示したいと思います(最近の投稿とよく似ています)

それでは、どのように私は投稿ではなくページを表示するために "最近の投稿"機能を修正することができますか?

1
Snazzy Sanoj

私はrecent pageのために作られたそれがrecent postsのために作られた既製のカスタムウィジェットを持っています。それで以下のコードでページに投稿テキストを変更してください。

徹底的に表示し、表示目的のテキストのみを変更してください。

  1. このコードをあなたのfunctions.phpファイルに追加してください
  2. 外観 - >ウィジェットに移動すると、新しく作成されたウィジェットが表示されますCustom Recent Pages
  3. アクティブなサイドバーにドラッグして、要件に従って変更を加えます。
  4. 完了しました。フロントエンドサイドバーでそれを見ることができます。

    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;
    
    }}?>
1
Prakash Rao