প্রথমত , আপনি আপনার প্রশ্নে যে কোডটি দেখান তার সাথে আপনি বর্ণিত লক্ষ্যটি অবিলম্বে অর্জন করতে পারবেন না। সেই কোডটির সাথে কেন সরাসরি পন্থা নেই তা বোঝার জন্য আপনি কী ব্যবহার করছেন তা একবার দেখে নিতে হবে woocommerce_related_products()
- আপনি এখন পর্যন্ত যা করেছেন তা করতে।
দ্বিতীয়ত , আপনাকে বুঝতে হবে, কারণ অন্যথায় আপনি কোনও উত্তর পেয়ে যাচ্ছেন এমন নিশ্চয়তা দেওয়ার জন্য আপনি কোনও বিষয়বস্তু প্রশ্ন করতে সক্ষম নন, যা একেবারে আপনার লক্ষ্য হওয়া উচিত। এ ছাড়া আপনার মনে রাখতে হবে যে ওয়ার্ডপ্রেস বিকাশের প্রাথমিক শব্দটি ওয়ার্ডপ্রেস সম্পর্কিত সম্পর্কিত প্রশ্নগুলির উপর ভিত্তি করে রয়েছে - যদি আপনি আগ্রহী হন তবে এটি ওয়ার্ডপ্রেস ডেভেলপমেন্ট মেটা নিয়ে আলোচনার অধীনে রয়েছে , একটি নির্দিষ্ট বিষয় হ'ল ডাব্লুপিএসইতে প্লাটিন প্লাগইনগুলির আমাদের উওস এবং ভবিষ্যত । সুতরাং, যদি আপনি ওয়ার্ককমার্সের মতো প্লাগইনগুলি সম্পর্কে প্রশ্ন জিজ্ঞাসা করছেন তবে এটি এটিকে যথাসম্ভব মূল ফাংশনগুলির সাথে সম্পর্কিত করার জন্য আপনার এটি ভেঙে দেওয়া উচিত - পরবর্তী পয়েন্টটি দেখুন - আপনি প্রতিটি প্লাগইনটির প্রতিটি বিবরণ লোকেরা জানতে পারবেন বলে আপনি আশা করতে পারবেন না ব্যবহার করছি।
তৃতীয়ত , এখন কী ঘটছে গভীরতর অন্তর্দৃষ্টি। যেমনটি আপনি বলেছেন, আপনি woocommerce_related_products()
এখন ব্যবহার করছেন। আপনি যদি উত্সটি একবার দেখে থাকেন তবে আপনি দেখতে পাবেন যে এই ফাংশনটি টেমপ্লেটটি woocommerce_get_template()
পেতে ব্যবহার করে related.php
। woocommerce_get_template()
আবার woocommerce_locate_template()
টেমপ্লেট সনাক্ত করতে ব্যবহার করে, পরবর্তীকৃত ওয়ার্ডপ্রেস কোর ফাংশনটি ব্যবহার করে এটি করছে locate_template()
।
এখন মূল সাথে একটি সংযোগ রয়েছে, যা উপরোক্ত উল্লিখিত - এবং আশাবাদী পরিদর্শন করা হয়েছে - ওয়ার্ক কমার্স ফাংশনগুলি মূল কার্যকারিতা বাড়ানোর জন্য আবশ্যকভাবে মোড়কে দেয়। কার্যকারিতা নির্ভরতা বিশ্লেষণ করে আরও একটি বিষয় স্পষ্ট হয়ে উঠল যা হ'ল আমি যা বলেছিলাম, আপনার লক্ষ্য অর্জনের জন্য আপনার আলাদা পদ্ধতির প্রয়োজন, কারণ woocommerce_related_products()
- এখন অনস্বীকার্য স্পষ্ট - সঠিকটি নয়।
আপনি যদি আমার ব্যাখ্যা সহ আমাকে অনুসরণ করেন এবং এখন পর্যন্ত পুরোপুরি পড়েন, তবে আপনি বুঝতে পেরেছেন যে related.php
আপনি যা সন্ধান করছেন তা এতে রয়েছে। আমি বিশেষত get_related()
ফাংশনটি সম্পর্কে বলছি , যার মধ্যে woocommerce_product_related_posts
হুক অন্তর্ভুক্ত এবং মূল ফাংশনগুলি ব্যবহার করে wp_get_post_terms()
এবং get_posts()
- get_related()
আইডিগুলির সেট পেতে ব্যবহৃত হয়। উপরন্তু নেই woocommerce_related_products_args
হুক, যা সংশ্লিষ্ট পণ্য ক্যোয়ারী ভিতরে অফ আর্গুমেন্ট পরিবর্তন করতে ব্যবহার করা যেতে পারে related.php
, WP_Query
এই জন্য ব্যবহৃত হয়। ক্যোয়ারী get_related()
কল থেকে ফলাফলগুলি আইডিকে ব্যবহার করে ।
আমি মনে করি আপনার সমস্যা সমাধানের জন্য আপনি এখন সবকিছু হাতে পেয়েছেন। প্রকৃতপক্ষে এর চেয়ে আরও বেশি উপায়, এটি সম্পর্কিত পণ্যগুলি কীভাবে কাস্টমাইজ করতে হয় সে সম্পর্কে প্রায় সম্পূর্ণ ওভারভিউ দেয়। আমি প্রতিটি কার্যকারিতা - ফাংশন এবং / অথবা হুক - উত্স কোডটি পরিদর্শন করা না করে উল্লেখ করেছি, তবে অবশ্যই সমস্ত গুরুত্বপূর্ণ। ওয়ার্কপ্রেস সম্পর্কিত সম্পর্কিত পণ্য কার্যকারিতা কীভাবে ওয়ার্ডপ্রেস কোর ফাংশনগুলিতে ফিরে পাওয়া যায় তা এখন এটি আরও পরিষ্কার হওয়া উচিত।
চতুর্থত , আমি আসছি, যেখানে আপনার নিজের পছন্দসই প্রয়োগ করা উচিত এবং আপনার যা চাওয়া উচিত ছিল। উদাহরণস্বরূপ:
ওওকমার্সের সাথে সম্পর্কিত পণ্যগুলি নির্ধারণের woocommerce_product_related_posts
জন্য get_posts()
কলটি কাস্টমাইজ করার হুক রয়েছে ।
কোড:
// Get the posts
$related_posts = get_posts( apply_filters('woocommerce_product_related_posts', array(
'orderby' => 'rand',
'posts_per_page' => $limit,
'post_type' => 'product',
'fields' => 'ids',
'meta_query' => $meta_query,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'product_cat',
'field' => 'id',
'terms' => $cats_array
),
array(
'taxonomy' => 'product_tag',
'field' => 'id',
'terms' => $tags_array
)
)
) ) );
আমি আমার লক্ষ্য অর্জনের জন্য কীভাবে এটি কাস্টমাইজ করতে পারি? কোনটি একই পণ্য বিভাগে থাকা সম্পর্কিত পণ্যগুলি দেখানোর জন্য - product_cat
- এবং একই ট্যাগ (গুলি) - product_tag
- একক পণ্য হিসাবে দেখানো হয়েছে।
অন্তত যদি না আপনি সম্পূর্ণ ও তাৎক্ষণিক কোড পাওয়ার জন্য প্রত্যাশা ছিল না - - আপনি একটি আখেরী প্রদান ছাড়া উত্তর, প্রথম জিনিস আপনি সম্ভবত করণীয় পরিবর্তন হয় tax_query
প্যারামিটার relation
থেকে OR
থেকে AND
।
মন্তব্য:
- উপরের লিঙ্কযুক্ত চলমান আলোচনার বিষয়টি মাথায় রেখে আমি এটি দীর্ঘতর বর্ণনামূলক উত্তর দিয়েছি
- আমি আশা করি আপনি আপত্তি করবেন না, এটি কেবল আপনার প্রশ্নের জবাব নয়, পাশাপাশি একটি সাধারণ শিক্ষাগত উদ্দেশ্য পূরণের জন্য চেষ্টা করে
- এটি সত্যায়িত কোনও কোড নেই, কারণ এটি অবিযুক্ত
- সর্বশেষে তবে তা অন্তত নয়, অদৃশ্য যে WooCoomerce 2.1 প্রকাশের সাথে কিছু উল্লেখযোগ্য কোড পরিবর্তনগুলি প্রয়োগ করা হবে, এটি মনে রেখেই করা হবে, তবে আপাতত 2.0.19 হিসাবে উপরের কোডটি বৈধ
সম্পাদনা:
আপনার সত্যিকারের কোর ক্লাসগুলি সরাসরি সম্পাদনা করা উচিত নয়। এটি সমস্যাযুক্ত কারণ মূল ফাইলগুলি আপডেট হওয়ার সাথে সাথে আপনি যদি একটি সম্পাদনা করেন তবে ওভাররাইট করা হবে বলে আপডেটগুলিতে আপনাকে আবারও পরিবর্তনগুলি বজায় রাখতে হবে। বিশেষত যদি এ ক্ষেত্রে সহজেই এড়ানো যায় তবে নীচের কোডটি যাইহোক আপনি যা করতে চেয়েছিলেন তা করে, যা আপনার মাধ্যমে এই পরিবর্তনটি বাস্তবায়ন করে functions.php
।
কোড:
add_filter( 'woocommerce_product_related_posts',
'wpse_123436_change_wc_related_products_relation_to_and' );
function wpse_123436_change_wc_related_products_relation_to_and() {
$get_related_products_args = array(
'orderby' => 'rand',
'posts_per_page' => $limit,
'post_type' => 'product',
'fields' => 'ids',
'meta_query' => $meta_query,
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'product_cat',
'field' => 'id',
'terms' => $cats_array
),
array(
'taxonomy' => 'product_tag',
'field' => 'id',
'terms' => $tags_array
)
)
);
return $get_related_products_args;
}
WooCommerce সংস্করণ ২.১.০ এবং উপরের দিকের উপরের হুকটি কাজ করবে না, কারণ এটির আর অস্তিত্ব নেই, সুতরাং উত্তর ২.০.২০ পর্যন্ত উত্তর ব্যবহারযোগ্য। তবে @ নাথানপোয়েল স্ট্যাকওভারফ্লোতে উপলভ্য v2.1.0 থেকে এবং সম্পর্কিত পণ্যগুলি হুকের ব্যবহারযোগ্য সেটকে কাস্টমাইজ করার জন্য একটি চমৎকার উত্তর আবিষ্কার করেছেন ।
OR
করতেAND
আমার মধ্যেwp-content/plugins/woocommerce/classes/abstract/abstract-wc-product.php
ফাইল এবং শীঘ্রই পরিবর্তন হবে এই মধ্যে থেকে কাজ করতে হবেfunctions.php
ফাইল। আবার আপনাকে ধন্যবাদ.