পৃষ্ঠার টেমপ্লেটে কীভাবে পৃষ্ঠাগুলি প্রদর্শিত হবে?


13

আমার ওয়ার্ডপ্রেস সাইটে আমি একটি কাস্টম পৃষ্ঠা টেম্পলেট তৈরি করেছি, যাতে একটি কাস্টম ক্যোয়ারী [ব্যবহার করে WP_Query()] রয়েছে। এই ক্যোয়ারির সাহায্যে আমি একটি নির্দিষ্ট বিভাগের পোস্টগুলি পুরোপুরি পেতে পারি। তবে আমি অনুসন্ধান পোস্টগুলি সহ পৃষ্ঠাগুলি প্রদর্শন করতে চাই।

জিনিসটি এমন হবে:
---------------------------

পৃষ্ঠা শিরোনাম

পৃষ্ঠা বিষয়বস্তু

অনুসন্ধান শিরোনাম

ক্যোরিড পোস্ট সামগ্রী
---------------------------

  • আমি কি করতে পারি?

2
সমস্যাটা কি? এটি একটি পৃষ্ঠার টেমপ্লেট, তাই আপনার পৃষ্ঠা সামগ্রীতে অ্যাক্সেস রয়েছে। অন্য একটি পৃথক ক্যোয়ারির মাধ্যমে আপনি একটি নির্দিষ্ট পোস্টে অ্যাক্সেস অর্জন করতে পারেন, উদাহরণস্বরূপ, এবং সুতরাং এটির সামগ্রী আউটপুট করতে পারে। তাই?
tfrommen

ভোট দেওয়ার আগে ধৈর্য ধরুন। আমি এর জন্য লড়াই করছি এবং এরপরে আমি সমাধানটি পেয়েছি। আমি অন্যের সাথে যুক্তিটি ভাগ করে নেওয়ার জন্য এখানে প্রশ্নোত্তর থেকে চেষ্টা করেছি - আমি মনে করি এটি যেভাবে আমি এটির সন্ধান করছি তাতে এটি স্পষ্ট করে দেবে। আশা করি প্রশ্নোত্তর আপনার কাছে পরিষ্কার হয়ে গেছে।
মায়নুল ইসলাম

প্রথমত, আমি না না আপনার প্রশ্নের downvote। দ্বিতীয়ত, আমাদের সাথে আপনার জ্ঞান ভাগ করে নেওয়ার জন্য ধন্যবাদ। আপনি এটি করতে একেবারে সঠিক। আমার অনুমান, সমস্যাটি হ'ল / এই যে অভিজ্ঞ ডাব্লুপি ব্যবহারকারী / বিকাশকারীদের পক্ষে এই প্রশ্নটি সমাধান করা এতটা কঠিন ছিল না, পাশাপাশি আপনি যে প্রশ্নটি একা পোস্ট করেছেন তাও এই সমস্যাটি নয়। আপনি যদি প্রথম থেকেই প্রশ্নোত্তর করতে চান, কেবল আপনার উত্তর / সমাধানটি সরাসরি একই পৃষ্ঠায় অন্তর্ভুক্ত করুন যেখানে আপনি নিজের প্রশ্নটি লিখেছেন। আপনার প্রশ্ন পোস্ট বোতামের নীচে একটি চেক বাক্স রয়েছে আপনার নিজের প্রশ্নের উত্তর দিন । আবার ধন্যবাদ.
tfrommen

wp_reset_postdata()উদ্ধার জন্য। প্রতিটি কাস্টম ক্যোয়ারির পরে করা উচিত ।
কায়সার

উত্তর:


21

আমি দুটি লুপ ব্যবহার করছি। প্রথম লুপটি পৃষ্ঠার সামগ্রী প্রদর্শন করা এবং দ্বিতীয় লুপটি অনুসন্ধানের পোস্টের সামগ্রীগুলি প্রদর্শন করা। প্রয়োজনীয় কোডগুলিতে আমি মন্তব্য করেছি। আমি লুপগুলিতে জোর দিয়েছি, যেমন ডেক্সস্টার0 ওয়ার্ডপ্রেস সমর্থনে বলেছিল যে, the_content()কেবলমাত্র একটি ওয়ার্ডপ্রেস লুপের অভ্যন্তরে কাজ করে। আমি এই কোডগুলি একটি নিজস্ব টেমপ্লেটে রাখছি:

<?php
/*
* Template Name: My Template
*/
get_header(); ?>

<div id="container">
    <div id="content" class="pageContent">

    <h1 class="entry-title"><?php the_title(); ?></h1> <!-- Page Title -->
    <?php
    // TO SHOW THE PAGE CONTENTS
    while ( have_posts() ) : the_post(); ?> <!--Because the_content() works only inside a WP Loop -->
        <div class="entry-content-page">
            <?php the_content(); ?> <!-- Page Content -->
        </div><!-- .entry-content-page -->

    <?php
    endwhile; //resetting the page loop
    wp_reset_query(); //resetting the page query
    ?>

    <?php
    // TO SHOW THE POST CONTENTS
    ?>                        
        <?php
        $my_query = new WP_Query( 'cat=1' ); // I used a category id 1 as an example
        ?>
        <?php if ( $my_query->have_posts() ) : ?>
        <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

            <h1 class="entry-title"><?php the_title(); ?></h1> <!-- Queried Post Title -->
            <div class="entry-content">
                <?php the_excerpt(); ?> <!-- Queried Post Excerpts -->
            </div><!-- .entry-content -->

        <?php endwhile; //resetting the post loop ?>

        </div><!-- #post-<?php the_ID(); ?> -->

        <?php
        wp_reset_postdata(); //resetting the post query
        endif;
        ?>

    </div><!-- #content -->         
</div><!-- #container -->

সেই দ্বিতীয় ক্যোয়ারির ভিতরে থাকা উচিত নয় if( have_posts() )কারণ সেই বিবৃতি সর্বদা সত্য হবে। আপনি যদি জিজ্ঞাসা করতে চান যে ফলাফলগুলি আছে কিনা তা পরীক্ষা করতে চাইলে আপনার আরআগস লাইনের if( $my_query->have_posts() )পরে কল করা উচিত $my_query = new WP_Query( 'cat=1' );
t31os

@ t31os আপনি ঠিক বলেছেন। এটা আমার দোষ. এখন কোড সংশোধন করুন। সনাক্তকরণের জন্য ধন্যবাদ। :)
মায়নুল ইসলাম

0

দুটি লুপ এটি করতে সাধারণ, তবে কিছুটা ব্যবহৃত হয়।

প্রতিটি পোস্ট বা পৃষ্ঠা আপনাকে সুপার-ভেরিয়েবল দেয় $post। কখনও ভাবছেন কেন আপনার get_post_meta()সরল কাজ করে $post->ID;)?

সুতরাং, আগে আপনি WP_Query () আপনার তালিকাভুক্ত পোস্ট পায় শুরু, আপনি বর্তমান page- / সহ একটি পোস্ট-ডেটা অ্যাক্সেস করতে পারেন $post->ID, $post->post_content, $post->guidইত্যাদি।

লুপে, এই পরিবর্তনশীল লুপযুক্ত পোস্ট দ্বারা পূরণ করা হয় filled এটি পরবর্তী সময়ের জন্য সংরক্ষণ করতে, আপনি হয় একটি নতুন পরিবর্তনশীল করতে পারেন

$temp_post = $post

// new WP_Query() + loop here

বা কল

wp_reset_query ()

তালিকা পরে। আপনার সাইডবারের ডেটা বর্তমান পৃষ্ঠা / পোস্টের জন্য সঠিক কিনা তা নিশ্চিত করার জন্য শেষ ফাংশনটি যেকোনোভাবে কল করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.