স্থিতিশীল পৃষ্ঠায় সর্বশেষ 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.