স্থিতিশীল পৃষ্ঠায় সর্বশেষ 3 টি পোস্ট (সাম্প্রতিক পোস্টগুলি) কীভাবে প্রদর্শিত হবে?


11

আমি একটি স্থিতিশীল পৃষ্ঠায় "সাম্প্রতিক পোস্ট" এর মতো কিছু বাস্তবায়ন করতে চাই:

http://themes.codehunk.me/insignio/ (পাদলেখ)

আমি কীভাবে কোনও উইজেট ছাড়াই এটি করতে সক্ষম হব?

উত্তর:


24

আমি সাধারণত এই পদ্ধতির ব্যবহার করি:

ভুল পদ্ধতির

<?php query_posts( array(
   'category_name' => 'news',
   'posts_per_page' => 3,
)); ?>

<?php if( have_posts() ): while ( have_posts() ) : the_post(); ?>

   <?php the_excerpt(); ?>
   <?php endwhile; ?>

<?php else : ?>

   <p><?php __('No News'); ?></p>

<?php endif; ?>

@ সুইসস্পিডের সাহায্যে সঠিক উপায়টি এটি :

<?php 
   // the query
   $the_query = new WP_Query( array(
     'category_name' => 'news',
      'posts_per_page' => 3,
   )); 
?>

<?php if ( $the_query->have_posts() ) : ?>
  <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <?php the_title(); ?>
    <?php the_excerpt(); ?>

  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>

<?php else : ?>
  <p><?php __('No News'); ?></p>
<?php endif; ?>

আরও তথ্যের জন্য @ কোডেক্স দেখুন ।


2
কেন প্রায় সর্বদা ব্যবহার করা খারাপ ধারণা হয় তা দেখাতে আমি ওয়ার্ডপ্রেস.স্ট্যাকেক্সেঞ্জারএইচএ /query_posts() a/ 1755/12404 এ উল্লেখ করতে চাই ।
— swissspidy

4

এটি আপনার জন্য যাচ্ছেন তার উপর নির্ভর করে। আপনি যদি "পোস্টের পৃষ্ঠা" করতে চান - অন্যথায়, একটি নতুন পৃষ্ঠা টেম্পলেট ফাইল তৈরি করুন - আপনি সেই পৃষ্ঠায় একটি গৌণ লুপ তৈরি করতে পারেন।

কোডেক্সের এর উদাহরণ রয়েছে এবং এখানে আরও একটি উদাহরণ খুব নিচে নামিয়ে দেওয়া হয়েছে।

<?php
/*
Template Name: Page of Posts
*/
get_header(); 
?>

<?php while( have_posts() ): the_post(); /* start main loop */ ?>

    <h1><?php the_title(); ?></h1>

    <?php
        /* Start Secondary Loop */
        $other_posts = new WP_Query( /*maybe some args here? */ );
        while( $others_posts->have_posts() ): $other_posts->the_post(); 
    ?>
        You can do anything you would in the main loop here and it will
        apply to the secondary loop's posts
    <?php 
        endwhile; /* end secondary loop */ 
        wp_reset_postdata(); /* Restore the original queried page to the $post variable */
    ?>

<?php endwhile; /* End the main loop */ ?>

যদি আপনি এমন কোনও কিছু সন্ধান করছেন যা আপনি যে কোনও পৃষ্ঠায় ফেলে দিতে পারেন, তবে সেরা সমাধানটি একটি শর্টকোড হবে । আপনাকে একটি শর্টকোড তৈরি করতে হবে যা বেশ কয়েকটি পোস্ট আনবে এবং সেগুলিকে একটি তালিকায় (বা আপনি যা চান) ফেরত দিন। একটি উদাহরণ:

<?php
add_action( 'init', 'wpse36453_register_shortcode' );
/**
 * Registers the shortcode with add_shortcode so WP knows about it.
 */
function wpse36453_register_shortcode()
{
    add_shortcode( 'wpse36453_posts', 'wpse36453_shortcode_cb' );
}

/**
 * The call back function for the shortcode. Returns our list of posts.
 */
function wpse36453_shortcode_cb( $args )
{
    // get the posts
    $posts = get_posts(
        array(
            'numberposts'   => 3
        )
    );

    // No posts? run away!
    if( empty( $posts ) ) return '';

    /**
     * Loop through each post, getting what we need and appending it to 
     * the variable we'll send out
     */ 
    $out = '<ul>';
    foreach( $posts as $post )
    {
        $out .= sprintf( 
            '<li><a href="%s" title="%s">%s</a></li>',
            get_permalink( $post ),
            esc_attr( $post->post_title ),
            esc_html( $post->post_title )
        );
    }
    $out .= '</ul>';
    return $out;
}

আমি কি এটি হেডার.এফপিতে রাখতে পারি বা এটি অন্য কোথাও রেখে দেওয়া উচিত?
— ব্যবহারকারী385917

প্রথম উদাহরণটি আপনার থিমের যে কোনও জায়গায় যেতে পারে। দ্বিতীয়টি, শর্টকোডের উদাহরণটি দেখতে হবেfunctions.php
— ক্রিসগুইটারগুই

কোডের প্রথম ব্লকে 3 টি পোস্টের বেশি লুপ করতে হবে না
— মুরহফ সওসালি

3

ওয়ার্ডপ্রেস কোডেক্সে এই সুনির্দিষ্ট মামলার জন্য একটি গাইড রয়েছে। এটি এখানে দেখুন : আমি কোডটি এখানে পেস্ট করেছি কারণ এটি যথেষ্ট সংক্ষিপ্ত, আরও তথ্যের জন্য ওয়ার্ডপ্রেস.আর. সাইটে যান।

<?php
$args = array( 'numberposts' => 10, 'order'=> 'ASC', 'orderby' => 'title' );
$postslist = get_posts( $args );
foreach ($postslist as $post) :  setup_postdata($post); ?> 
    <div>
        <?php the_date(); ?>
        <br />
        <?php the_title(); ?>   
        <?php the_excerpt(); ?>
    </div>
<?php endforeach; ?>

1

ওয়ার্ডপ্রেস এই জাতীয় অনুরোধের জন্য একটি ফাংশন সরবরাহ করে: ক্যোয়ারী_পোস্ট () ।

ওয়ার্ডপ্রেস পোস্টগুলি প্রদর্শনের জন্য ব্যবহার করে এমন ডিফল্ট ক্যোয়ারী পরিবর্তন করার সবচেয়ে সহজ উপায় হল ক্যোরি_পোস্টগুলি ()। সাধারণত কোনও নির্দিষ্ট ইউআরএলে প্রদর্শিত হবে তার চেয়ে আলাদা পোস্ট প্রদর্শন করতে ক্যোরি_পোস্টগুলি () ব্যবহার করুন।

উদাহরণস্বরূপ, হোমপেজে আপনি সর্বশেষত 10 টি পোস্ট দেখতে পাবেন। আপনি যদি কেবল 5 টি পোস্ট দেখাতে চান (এবং পৃষ্ঠাগুলি সম্পর্কে কোনও যত্ন নেই), আপনি ক্যোয়ারী_পোস্টগুলি () এর মতো ব্যবহার করতে পারেন:

ক্যোয়ারী_পোস্টগুলি ('পোষ্টস_পার_পেজ = 5');

একবার আপনি ক্যোয়ারীটি সম্পাদন করার পরে আপনি যেভাবে পোস্ট চান তা প্রদর্শন করতে পারেন।


-1
<?php $the_query = new WP_Query( 'posts_per_page=3' ); 
while ($the_query -> have_posts()) : $the_query -> the_post();?>
<?php /*html in here etc*/ the_title(); ?>
<?php endwhile;wp_reset_postdata();?>

এর কোড যা প্রশ্নের উত্তর দেয় - স্থিতিশীল পৃষ্ঠায় সর্বশেষ 3 টি পোস্ট (সাম্প্রতিক পোস্টগুলি) কীভাবে প্রদর্শিত হবে? "- আমি সাধারণত এই পদ্ধতির ব্যবহার করি:" বললে কি এটি আপনাকে সহায়তা করবে?
— জোন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.