ডাব্লুপি_কিউয়ারিতে ইউআরএল থেকে কাস্টম ডেটার জন্য উপযুক্ত প্রবাহ কী?


14

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

আমার সাধারণ পর্যায়ে রয়েছে (সিউডো কোড, তবে বাস্তবের কাছাকাছি):

  1. ইউআরএল থেকে মান পুনরুদ্ধার করুন (এর মতো সাধারণ কিছু person=1)
  2. প্রক্রিয়া মান এবং কাস্টম ক্যোয়ারী নির্দেশাবলী সংযোজন ( $relationship_query[] = array('relationship' => 'person_to_cat', 'object' => 1 );)
  3. চূড়ান্ত কাস্টম ক্যোয়ারী নির্দেশাবলী পুনরুদ্ধার করুন এবং উপযুক্ত এসকিউএল নির্দেশাবলী উত্পন্ন করুন

এতক্ষণে আমার এ জাতীয় প্রচুর চলমান রয়েছে (সম্পর্ক, করশাসন, তারিখ) এবং এটি ভঙ্গুর হয়ে উঠছে (কোডের এক কোণায় এর মূল্য নির্ধারণ করা হয় না যেখানে কোডের অন্যান্য কোণ এটি খুঁজে পেতে পারে এবং সবকিছু আলাদা হয়ে যায়)।

এত বড় প্রশ্ন হ'ল - ইউআরএল এর মাধ্যমে ডাব্লুপিতে কাস্টম ডেটা পাস, গ্রহণ, সঞ্চয় এবং প্রক্রিয়া করার জন্য উপযুক্ত প্রোটোকল কী ?

ছোট অংশ:

  • আমি কীভাবে নিশ্চিত হব যে আমি ডাব্লুপি ইন্টার্নালের সাথে সংঘর্ষ না করব?
  • আমি কোথায় এবং কিভাবে মধ্যস্থতাকারী ডেটা সঞ্চয় করব?
    • queryএবং query_varsবৈশিষ্ট্য মধ্যে পার্থক্য ? কোডগুলিতে এগুলি প্রায় একই রকম ব্যবহার করা হয় বলে মনে হয়, তবুও তারা বিভিন্ন মান এবং পদ্ধতি query_varsএকের পক্ষে রাখে ।

উত্তর:


6

আমি মনে করি আপনি যে ডাব্লুপি ফাংশনটি সন্ধান করছেন সেটি হ'ল অ্যাড_উইরাইট_ট্যাগ । এটির উদ্দেশ্য আপনার URL এ কাস্টম GET প্যারাম যুক্ত করা এবং এটি স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত করা উচিত query_vars

উদাহরণস্বরূপ, আপনি init হুকটিতে নিম্নলিখিতগুলি যুক্ত করতে পারেন:

add_rewrite_tag('%person%','([^&]+)');

Http://example.com?Press=joe এর মতো url এর জন্য , বিশ্বব্যাপী $wp_queryথাকবে

$wp_query->query_vars['person'] = 'joe'

আপনি ইউআরএল প্রিটিটিয়ার করার জন্য একটি পুনর্লিখনের নিয়মও যুক্ত করতে পারেন , উদাহরণস্বরূপ http://example.com/Press/joe

add_rewrite_rule('^person/([^/]*)/?','index.php?person=$matches[1]','top');

আরও তথ্য এবং উদাহরণগুলির জন্য পুনর্লিখনের এপিআই দেখুন ।


2
আমি (অবশেষে) কিছু সময় সমস্ত প্রাসঙ্গিক কোড মাধ্যমে পড়তে পাওয়া যায় WPএবং WP_Queryএবং যখন সেখানে ঘটছে জিনিস অনেক আছে, আমি মনে করি যে add_rewrite_tag()ডাব্লু কাস্টম ক্যোয়ারী Var সচেতন করতে এবং এটির সাথে ভাল খেলতে হবে সবচেয়ে সংক্ষিপ্ত পথ বলে মনে হয়।
রাস্ট

1
  1. যে কোনও সংরক্ষিত ক্যোয়ারী_ওয়ার্স চেক করতে ডাব্লুপি-অন্তর্ভুক্ত / শ্রেণি-ডাব্লুপিএফপি দেখুন Check
  2. মধ্যস্থতাকারী ডেটা দ্বারা আপনি কী বোঝেন তা আমি নিশ্চিত নই। আপনি আরও ব্যাখ্যা করতে পারেন?
  3. ডাব্লুপি ইউআরএল-তে একটি ক্যোরি_স্ট্রিংয়ের ভিত্তিতে পৃষ্ঠাটি লোড করে যা কোয়েরি হিসাবে অনুবাদ করা হয়, তারপরে ডাব্লুপি_কিউয়ারি দ্বারা প্রক্রিয়া করা হয় কোন কোয়েরি_ওয়ারটি ব্যবহৃত হচ্ছে তা নির্ধারণ করতে।

উদাহরণ: /? পৃষ্ঠার নাম = প্রায় দিয়ে কোনও পৃষ্ঠা লোড করে, ডাব্লুপি কোয়েরি স্ট্রিংটি প্রক্রিয়া করবে এবং ক্যোয়ারী_ওয়ারটি ব্যবহৃত হচ্ছে পৃষ্ঠা_ইড find

অন্য একটি উদাহরণ: /? বিড়াল = 1, /? বিভাগ_নাম = শ্রেণিবদ্ধ এবং / বিভাগ / শ্রেণিবদ্ধের একই ক্যোয়ারী_ভার 'বিড়াল' রয়েছে


0

আমি ধরে নিয়েছিলাম এটি হয়ে $_GETএবং / অথবা এর মাধ্যমে হয়ে গেছে $_POST, তারপরে সেই অনুসারে হেরফের করা।

পর্যায়ক্রমে, ডিবিতে প্রচুর পরিমাণে ডেটা সংরক্ষণ করুন এবং এর পরে ইউআরএলটিতে একটি আইডি পার্স করুন

$data_id = $_GET['id'];

$data = $wpbd->get_results("SELECT * FROM wp_epic_table WHERE id=".$id);

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

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