skip to Main Content

I am using a plugin in which default wordpress posts are getting displayed on ‘posts’ tab, this code is fetching the posts, I am looking to fetch custom post type ‘properties’ instead of default wordpress post.

loop-post.php:

   <?php

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

$the_query = isset( $args['template_args']['the_query'] ) ? $args['template_args']['the_query'] : '';
$title = isset( $args['template_args']['title'] ) ? $args['template_args']['title'] : '';
?>
<h3><?php echo $title; ?></h3>
<div class="uwp-profile-item-block">
    <?php
    // The Loop
    if ($the_query && $the_query->have_posts()) {

        echo '<ul class="uwp-profile-item-ul">';
        while ($the_query->have_posts()) {
            $the_query->the_post();
            uwp_get_template('posts-post.php', $args);
        }
        echo '</ul>';

        /* Restore original Post Data */
        wp_reset_postdata();
    } else {
        // no posts found
        echo "<p>".sprintf( __( "No %s found.", 'userswp' ), $title )."</p>";
    }
    do_action('uwp_profile_pagination', $the_query->max_num_pages);
    ?>
</div>

posts-post.php:

<?php

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}
global $post;
$user = uwp_get_displayed_user();
?>
<li class="uwp-profile-item-li uwp-profile-item-clearfix">
    <div class="uwp_generic_thumb_wrap">
        <a class="uwp-profile-item-img" href="<?php echo esc_url_raw( get_the_permalink() ); ?>">
            <?php
            if ( has_post_thumbnail() ) {
                $thumb_url = get_the_post_thumbnail_url( get_the_ID(), array( 80, 80 ) );
            } else {
                $thumb_url = uwp_get_default_thumb_uri();
            }
            ?>
            <img class="uwp-profile-item-alignleft uwp-profile-item-thumb"
                 src="<?php echo esc_url_raw( $thumb_url ); ?>">
        </a>
    </div>

    <h3 class="uwp-profile-item-title">
        <a href="<?php echo esc_url_raw( get_the_permalink() ); ?>"><?php echo get_the_title(); ?></a>
    </h3>
    <time class="uwp-profile-item-time published" datetime="<?php echo get_the_time( 'c' ); ?>">
        <?php echo get_the_date(); ?>
    </time>
    <div class="uwp-profile-item-summary">
        <?php
        do_action( 'uwp_before_profile_summary', get_the_ID(), $post->post_author, $post->post_type );
        $excerpt = strip_shortcodes( wp_trim_words( get_the_excerpt(), 15, '...' ) );
        echo esc_attr( $excerpt );
        do_action( 'uwp_after_profile_summary', get_the_ID(), $post->post_author, $post->post_type );
        ?>
    </div>
</li>

Can anyone help to fetch custom post type ‘properties’ posts only instead of default wordpress posts?
Thanks in advance.

2

Answers


  1. You can define new WP_Query and pass 'post_type' => 'properties' as arguments. Try the below code.

    <?php
    
    if ( ! defined( 'ABSPATH' ) ) {
        exit; // Exit if accessed directly
    }
    
    $args = array(
        'post_type' => 'properties'
    );
    
    $properties = new WP_Query( $args );
    $title = isset( $args['template_args']['title'] ) ? $args['template_args']['title'] : '';
    ?>
    <h3><?php echo $title; ?></h3>
    <div class="uwp-profile-item-block">
        <?php
        // The Loop
        if ($properties->have_posts()) {
    
            echo '<ul class="uwp-profile-item-ul">';
            while ($properties->have_posts()) {
                $properties->the_post();
                uwp_get_template('posts-post.php', $args);
            }
            echo '</ul>';
    
            /* Restore original Post Data */
            wp_reset_postdata();
        } else {
            // no posts found
            echo "<p>".sprintf( __( "No %s found.", 'userswp' ), $title )."</p>";
        }
        do_action('uwp_profile_pagination', $properties->max_num_pages);
        ?>
    </div>
    
    Login or Signup to reply.
  2. TO Fetch Custom Post You can use like below, update arguments as per your requirement:

    $args = array(  
            'post_type' => 'services',
            'post_status' => 'publish',
            'posts_per_page' => 8, 
            'orderby’ => 'title', 
            'order’ => 'ASC', 
        );
    
        $loop = new WP_Query( $args ); 
            
        while ( $loop->have_posts() ) : $loop->the_post(); 
            print the_title(); 
            the_excerpt(); 
        endwhile;
    
        wp_reset_postdata(); 
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search