প্রশ্ন এবং উত্তর পুনরুদ্ধার করা হয়েছে
কখনও কখনও এই প্রশ্নগুলি থাকে যেগুলি আপনাকে কটূক্তি করে এবং আপনাকে পরবর্তী জীবনে আবার হান্ট করে দেয় এবং এটি এই জাতীয় একটি প্রশ্ন।
এই প্রশ্নটি আমাকে সমস্যার বিকল্প সমাধানের বিষয়ে ভাবছিল। যেমন আমি ইতিমধ্যে বলেছি, কাস্টম ক্ষেত্র এবং মেটা বাক্সগুলি ছোট ছোট টুকরা মেটা ডেটা সঞ্চয় করার জন্য রয়েছে এবং আপনি যেখানে শর্টকোড এবং ফাংশনগুলি সম্পাদন করতে পারেন এমন সামগ্রী পোস্ট করার জন্য এক্সটেনশন হিসাবে কাজ করবেন না। এছাড়াও, যেমনটি আমি ইতিমধ্যে বলেছি, আপনার পদ্ধতিটি ভুল এবং ব্যবহার করা উচিত নয়
আমি আপনার পোস্টে যা আকর্ষণীয় পেয়েছি তা হ'ল আপনি অনিয়ম ব্যবহারকারীর ইনপুট থেকে কাস্টম সামগ্রী প্রদর্শন করতে কাস্টম ক্ষেত্র এবং মেটা বাক্স ব্যবহার করেছেন used তাই আমি বসে বসে এই কাজটি করার এবং কাস্টম ফিল্ড ডেটা এবং মেটা বক্স ডেটা সঠিকভাবে ব্যবহার করার সম্ভাব্য উপায় নিয়ে ভাবলাম
এটি আমার ধারণা:
স্কেনারিও:
দ্রষ্টব্য: যে কোনও প্রয়োজন অনুসারে এটি পরিবর্তন করা যেতে পারে
একটি একক পোস্টে, কোনও ব্যবহারকারী তার প্রয়োজন অনুসারে পোস্টের পরে কাস্টম সামগ্রীগুলি গতিশীলভাবে দেখাতে / চায়। এটি গতিশীল হওয়া উচিত। বিষয়বস্তুটি একটি কাস্টম ক্যোয়ারী হওয়া উচিত এবং ব্যবহারকারী যখনই চান এবং কী চান তা কী চয়ন করতে হবে তা চয়ন করা উচিত
সম্ভাব্য সমাধান:
শর্টকোডগুলি এখানে কাজ করবে না, কারণ কাস্টম ক্ষেত্রে শর্টকোডগুলি কার্যকর করা যায় না। উভয়ই do_shortcode
কাজ করবে না , কারণ এটি গতিশীল নয় এবং হার্ডকোডযুক্ত, এমন কিছু যা আমরা চাই না। আপনার প্রশ্ন হিসাবে, আমরা একটি কাস্টম ক্ষেত্র ব্যবহার করতে যাচ্ছি। আবার আমি জোর দিয়েছি, কাস্টম ক্যোয়ারী বা শর্টকোডগুলি কার্যকর করতে কাস্টম ফিল্ডটি ব্যবহার করবেন না
পরিকল্পনা:
আমরা কাস্টম ক্ষেত্র ব্যবহার করবে শুধুমাত্র আমাদের প্রশ্নের সাথে আর্গুমেন্ট সংরক্ষণ, যে সব হয়। সুতরাং, আমরা যা করি তা হ'ল আমরা একটি কাস্টম ফিল্ড তৈরি করি custom_query_arguments
। আপনার পোস্ট সম্পাদক পর্দায়, আপনি এখন ব্যবহারের জন্য প্রস্তুত, আপনার কাস্টম ক্ষেত্রটি দেখতে পাবেন
পরবর্তী পদক্ষেপটি হ'ল আমাদের ক্ষেত্রে আমাদের কাস্টম ক্যোয়ারী যুক্তি যুক্ত করা। বলুন, শিরোনাম অনুসারে বাছাই করা বিভাগ 1 থেকে আমাদের 3 টি পোস্ট দেখাতে হবে। সুতরাং আমাদের ক্যোয়ারী আর্গুমেন্টগুলি দেখতে এইরকম হওয়া উচিত: ( স্ট্রিং বিন্যাসে )
'posts_per_page=3&cat=1&orderby=title'
এটি এখন আপনার কাস্টম ক্ষেত্রে প্রবেশ করা উচিত। একবার প্রবেশ করার পরে, আপনার কাস্টম ক্ষেত্রের মান সংরক্ষণ করুন
পরবর্তীটি আপনার একক.এফপি-তে কাস্টম ক্যোয়ারী তৈরি করা হবে। এখানে কী প্রয়োজন, আমাদের কাস্টম ক্ষেত্র থেকে আমাদের মূল্য পেতে হবে যা আসলে আমাদের ক্যোয়ারের যুক্তি, এবং WP_Query
পোস্টগুলি পুনরুদ্ধার করার জন্য এটি একটি নতুন উদাহরণে ফিড করা উচিত । আমাদের সেই কাস্টম ক্ষেত্রের আসলে মূল্য আছে কিনা তাও আমাদের দেখতে হবে, যদি কাস্টম ক্ষেত্রটি খালি থাকে তবে কিছুই দেখায় না
কোড:
আপনি একক পোস্টের ঠিক পরে সিঙ্গল.এফপিতে এরকম কিছু চেষ্টা করতে পারেন।
$args = get_post_meta( get_queried_object_id(), 'custom_query_arguments', true );
// check if the custom field has a value
if( ! empty( $args ) ) {
$q = new WP_Query( $args );
if( $q->have_posts() ) {
while( $q->have_posts() ) {
$q->the_post();
the_title();
}
wp_reset_postdata();
}
}
ব্যবহারকারী যদি কাস্টম ক্যোয়ারীটি সরাতে চান, তবে তিনি কেবলমাত্র কাস্টম ফিল্ডের মান মুছতে পারেন এবং কাস্টম ক্ষেত্রটি ফাঁকা ছেড়ে দিতে পারেন। যদি তাকে একই কোয়েরিটি দেখাতে হয় তবে 10 এবং মোট 5 টি পোস্ট থেকে, তিনি কেবলমাত্র নিম্নলিখিত মানগুলি দিয়ে প্রতিস্থাপন করতে পারেন
'posts_per_page=5&cat=10&orderby=title'
কয়েকটি নোট:
এই কাস্টম ক্ষেত্র এবং মেটা বাক্সগুলিতে তথ্য প্রবেশের সময় সঠিক সিনটেক্স এবং ফর্ম্যাটটি ব্যবহার করা গুরুত্বপূর্ণ। সিনট্যাক্স ত্রুটি বা ভুল তথ্য অনাকাঙ্ক্ষিত আউটপুট বা এমনকি মারাত্মক ত্রুটির দিকে পরিচালিত করবে। আপনার ক্লায়েন্টদের এ জাতীয় তথ্য জানানো গুরুত্বপূর্ণ
মূল উত্তর
আপনি কী অর্জন করতে চাইছেন তা আমি বুঝতে পারি না তবে আমি আপনাকে যা বলতে পারি তা থেকে এগুলি দুটি পৃথক বিষয়
বিকল্প 1
apply_filters('the_content', $content);
কাঁচা ছাপানো পোস্টের সামগ্রীতে ফিল্টার প্রয়োগ করতে ব্যবহৃত হয়, যা সাধারণত ব্যবহার থেকে আসে $post->post_content
। এই ফিল্টারগুলিতে বিখ্যাত ফিল্টার অন্তর্ভুক্ত wp_autop
যা p ট্যাগ যুক্ত করেthe_content()
apply_filters('the_content', $content);
সাধারণত কনজাকশনে ব্যবহৃত হয় get_posts
যেখানে কেউ সরাসরি WP_Post
ব্যবহার না করে অবজেক্টগুলির সাথে কাজ করে setup_postdata( $post )
যা টেমপ্লেট ট্যাগগুলি the_content()
ব্যবহারের জন্য উপলভ্য করে
বিকল্প 2
do_shortcode
পৃষ্ঠার সম্পাদক পর্দার পিছনের প্রান্তে পাঠ্য সম্পাদকের বাইরে টেম্পলেট ফাইলগুলির যে কোনও জায়গায় একটি শর্টকোড যুক্ত করতে ব্যবহৃত হয়, মূলত তাদের হুকের মাধ্যমে শর্টকোড ফিল্টার করে।
সঠিক ব্যবহারটি নিম্নরূপ
উদাহরণ: একটি টেমপ্লেট ফাইলে গ্যালারী শর্টকোড যুক্ত করা
echo do_shortcode( '[gallery]' )
সম্পাদনা 1
আপনার মন্তব্যগুলি থেকে, আমি তখনও কোনও শর্টকোড ব্যবহার করব না।
আপনি যদি টেক্সট সম্পাদকের মাধ্যমে একটি শর্টকোড যুক্ত করতে যাচ্ছেন না এবং এটি do_shortcode
কোনও টেমপ্লেট ফাইলের মাধ্যমে সরাসরি (হার্ডকোড) যুক্ত করতে যাচ্ছেন , আমি বরং কেবলমাত্র টেমপ্লেটে ফাংশনটি যুক্ত করব
উদাহরণ:
আপনার যদি নিম্নলিখিত শর্টকোড ফাংশন থাকে
function footag_func( $atts ) {
return "foo = {$atts['foo']}";
}
add_shortcode( 'footag', 'footag_func' );
আপনি পছন্দ মতো কোনও টেমপ্লেটে সরাসরি ফাংশনটি কল করতে পারেন
echo footag_func();
শর্টকোডটি বিশ্লেষণ করার প্রয়োজন না হওয়ায় এটি আরও দ্রুত
সম্পাদনা 2
এখানে সত্য বলতে, আপনি নিজের সম্পাদনা থেকে সম্পূর্ণ ভুলটি করছেন। এজন্য আমি আপনার প্রাথমিক প্রশ্নটি বুঝতে পারি না
কখনও কখনও, আমি পোস্ট / পৃষ্ঠাগুলি / কাস্টম পোস্ট ধরণের পোস্ট মেটা যুক্ত করতে হবে, যাতে তারা শর্টকোডগুলি (স্লাইডার, যোগাযোগের ফর্ম ইত্যাদি) বা কেবল একটি সাধারণ পাঠ্য যুক্ত করতে পারে। এটি একটি লেখা দায়ের করা হয়েছে।
শর্টকোডকে কাজ করতে, আমি বিকল্প 1 ব্যবহার করি .....
কাস্টম ক্ষেত্র হয় না টেক্সট ক্ষেত্র এবং নিশ্চয় শর্টকাট চালানো এবং যে বিষয়টি স্লাইডার বা যোগাযোগ রূপের জন্য ব্যবহার করা বোঝানো হয় না। পোস্ট এবং পৃষ্ঠাগুলিতে পাঠ্য সম্পাদককে প্রতিস্থাপন করতে কাস্টম ক্ষেত্রগুলি কখনও ব্যবহার করা উচিত নয়।
যেমনটি আমি আগেই বলেছি, apply_filters('the_content', $content);
কাঁচা পোস্ট সামগ্রীতে বিন্যাস প্রয়োগ করতে ব্যবহার করা।
আপনার এখানে দুটি পছন্দ আছে
do_shortcode
টেমপ্লেট ফাইলগুলিতে সরাসরি ব্যবহার করুন , যা শর্টকোড পার্স করার দরকার নেই বলে ফাংশনটি দ্রুত ব্যবহার করার কারণে আমি সুপারিশ করব না
নির্দিষ্ট পৃষ্ঠা / পোস্টের জন্য সরাসরি পাঠ্য সম্পাদকের শর্টকোডটি ব্যবহার করুন
আমি গুরুত্ব সহকারে আপনাকে পরামর্শ দিচ্ছি যে আপনি আপনার কাঠামোগুলি এবং আপনি কী অর্জন করতে চান সে সম্পর্কে নতুনভাবে নজর রাখুন। কাস্টম ক্ষেত্র নয় টেক্সট সম্পাদক এবং শর্টকাট বা স্লাইডার চালানো করতে পারবে না।
আমার প্রস্তাবটি হ'ল কাস্টম উইজেট বা এমন একটি সিস্টেম যা আপনি কাস্টম ক্ষেত্রগুলির সাথে ব্যবহার করতে পারেন তা সন্ধান করা হবে