ওয়ার্ডপ্রেসে কোয়েরি ওয়ারগুলি পাস করা এবং পুনরুদ্ধার করা


16

আমার দুটি লেখক পৃষ্ঠা রয়েছে, একটিতে প্রায় 5 টি পোস্ট প্রদর্শিত হয়। তারপরে আমি অন্য একটি পৃষ্ঠা সেটআপ করার চেষ্টা করছি যা তাদের সমস্ত পোস্ট হবে। আমি moreauthorposts.php নামে একটি টেম্পলেট তৈরি করেছি এবং আমি লেখককে এই পৃষ্ঠায় পরিবর্তনশীলটি পাস করার চেষ্টা করছি। সমস্যাটি হ'ল আমি যদি ডোমেইন.com/more-author-posts?author=johndoe পাস করি তবে তা ছিটকে যায়। আমি এই মানটি কীভাবে পুনরুদ্ধার করতে পারি? এটি কি ওয়ার্ডপ্রেসেও সম্ভব? আমি জানি যে ডাব্লুপি পুনর্লিখন আমার ইউআরএল কাঠামোটি কোনওভাবে জ্যাক করছে আমি ঠিক নিশ্চিত নই।

আমি চেষ্টা করেছিলাম:

get_query_var('author')

এবং এটি পড়ার চেষ্টা করেছিলাম তবে ভাগ্য হয়নি:

http://codex.wordpress.org/Query_Overview

পরামর্শ?

ধন্যবাদ।

উত্তর:


21

আমি প্রায় নিশ্চিত যে authorঅন্তর্নির্মিত, তাই কিছু ব্যবহার করুন author_more। আপনাকে query_varsপ্রথমে সেই ভারটি যুক্ত করতে হবে । উদাহরণ:

// add `author_more` to query vars
add_filter( 'init', 'add_author_more_query_var' );
function add_author_more_query_var()
{
    global $wp;
    $wp->add_query_var( 'author_more' );
}

তারপরে আপনার more-author-posts.phpটেম্পলেটটিতে এটিকে কল করুন:

if ( get_query_var( 'author_more' ) )
{
    // do your stuff
}

হালনাগাদ

এটি নিম্নলিখিত ইউআরএল উদাহরণ / ব্যবহারের ক্ষেত্রে কাজ করে:

http://example.com/index.php?author_more=value

তবে আপনি যদি এটিকে অভিনব ইউআরএল হিসাবে ব্যবহার করতে চান তবে আপনাকে পুনর্লিখনের নিয়মটি যুক্ত করতে হবে:

add_action('init','add_author_more_rewrite_rule');
function add_author_more_rewrite_rule()
{
    add_rewrite_rule(
        'more-author-posts/(\d*)$',
        'index.php?author_more=$matches[1]',
        'top'
    );
}

এখন আপনি এটি এর মতো ব্যবহার করতে পারেন

http://example.com/more-author-posts/value

ঠিক আছে তাই আমি ফাংশন.এফপি তে ক্যোয়ারী ভার্স যুক্ত করেছি। তারপরে আমার আরও লেখক পোস্টে অন্য কোড যুক্ত করেছে। এগুলি পাস করার জন্য সঠিক URL কাঠামোটি কী হবে? আমি জানি যে পেজড / পৃষ্ঠা / 2 এর ফর্ম্যাটটি ব্যবহার করে তবে আরও লেখক-পোস্টগুলি / আরও_অক্ষেত্র / জোহন্ডে 'কাজ করছে বলে মনে হচ্ছে না?
কোডিসফরোভা

আমি উত্তরটি আপডেট করেছি
বেন্টারনেট

সমস্যাটি হ'ল ভার্সগুলি সূচি.পি.পি-তে পাস করার চেষ্টা করছে না। আমি এগুলি যে কাস্টম টেম্পলেটটিতে বিকাশ করেছি তা তাদের পাস করার চেষ্টা করছি যেহেতু এটি সূচীর চেয়ে সম্পূর্ণ আলাদা different সুতরাং আমি যদি আরোauthor.php মান লেখক? লেখক_মোর = জোহান্দো .. যে কাজ করে না বলে মনে হচ্ছে। এখানে কিছু ভুল করছেন?
কোডিসফরোভা

@ בניית দেখতে খুব পরিষ্কার উত্তর বলে মনে হচ্ছে! @ কোডেসফোর্ভা আপনার সরাসরি টেম্পলেট ফাইলটি কল করা উচিত নয়, আপনি কি? index.php হ'ল ওয়ার্ডপ্রেসের মূল ফাইল, প্রতিটি পুনর্লিখনের নিয়মটি সেখানে প্রবেশ করা উচিত।
স্বর্ণেরপলস

1
@ কোডেসোফারভা: index.phpপুনর্লিখনের নিয়মটি index.phpওয়ার্ডপ্রেসের মূল ডিরেক্টরিতে হয়, এটি index.phpআপনার টেম্পলেট ফাইলের নয়। template_includeফিল্টারটিতে আবদ্ধ হয়ে আপনি কোন টেম্পলেটটি প্রদর্শিত হবে তা চয়ন করতে পারেন ।
জান ফ্যাব্রি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.