WooCommerce: get_price_html কীভাবে সম্পাদনা করবেন


13

আমি একক পণ্যের মূল্য মূল্য সম্পাদনা করার চেষ্টা করছি।

ইন single-product/price.phpএকটি টেমপ্লেট কল আছে $product->get_price_html। এইচটিএমএল উপস্থাপনের পদ্ধতি পরিবর্তন করতে আমি কীভাবে সেই ফাংশন / পদ্ধতিটি সম্পাদনা করতে পারি?

এই মুহুর্তে আমি এতে থাকা ফাংশনের সমস্ত সামগ্রী মুছে class-wc-productফেললেও এখনও অলৌকিকভাবে প্রদর্শন করে? কেউ জানেন কেন?

উত্তর:


17

কোর এবং প্লাগইন ফাইলগুলি কখনই সরাসরি সম্পাদনা করা উচিত নয় কারণ কোনও আপডেটগুলি আপনার পরিবর্তনগুলি ওভাররাইট করতে পারে। আপনি যদি get_price_htmlপদ্ধতিটিতে ডাব্লুকমার্স উত্সটি দেখেন তবে ফাংশনের আউটপুট পরিবর্তন করতে বেশ কয়েকটি ফিল্টার উপলব্ধ রয়েছে।

কলগুলিতে add_filterফিল্টার যুক্ত করার বিষয়ে আরও তথ্যের জন্য কোডেক্সে দেখুন apply_filters

থেকে get_price_htmlclass-wc-product:

return apply_filters('woocommerce_get_price_html', $price, $this);

সুতরাং আপনার নিজের ফিল্টার যুক্ত করতে:

add_filter( 'woocommerce_get_price_html', 'wpa83367_price_html', 100, 2 );
function wpa83367_price_html( $price, $product ){
    return 'Was:' . str_replace( '<ins>', ' Now:<ins>', $price );
}

উত্তরের জন্য ধন্যবাদ, কেননা কেন আমি যখন মূল ফাংশনের বিষয়বস্তুগুলি মুছি তবে এটি এখনও আউটপুটটিকে স্বাভাবিক হিসাবে ফিরিয়ে দেয়
লাকী লুক

1
সুতরাং আসুন আমরা যদি বলি যে সেখানে কোনও বিক্রি ছিল এবং এটি আমাকে ফিরিয়ে দেয় তবে আমি <del>£2</del><ins>£1</ins>কীভাবে Was:<del>£2</del> Now:<ins>£1</ins>ফিল্টারটির সাথে এটি পরিবর্তন করতে পারি ?
ভাগ্যবান লুক

নিশ্চিত নয়, WooCommerce এর সাথে খুব বেশি পরিচিত নাও হতে পারেন, সম্ভবত অন্য কোনও শ্রেণি এটি বাড়িয়েছে। আপনার দ্বিতীয় প্রশ্নের জন্য উপরে সম্পাদনা দেখুন।
মিলো

ব্রিল,;), দুর্দান্ত সহায়তা
লাকি লুক

আমি ডিফল্ট woocommerce_get_price_htmlফিল্টারে কী ঘটছে তা জানার চেষ্টা করছি $price। আমার সাইটে, Free!
WooCommerce

5
function wpa83368_price_html( $price,$product ){
   // return $product->price;
    if ( $product->price > 0 ) {
      if ( $product->price && isset( $product->regular_price ) ) {
        $from = $product->regular_price;
        $to = $product->price;
        return '<div class="old-colt"><del>'. ( ( is_numeric( $from ) ) ? woocommerce_price( $from ) : $from ) .' Retail </del>  | </div><div class="live-colst">'.( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) .'Our Price</div>';
      } else {
        $to = $product->price;
        return '<div class="live-colst">' . ( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) . 'Our Price</div>';
      }
   } else {
     return '<div class="live-colst">0 Our Price</div>';
   }
}

5
এমনকি যদি আপনার কোডটি কাজ করতে পারে (এবং আমার মনে হয় না এটি ভাবার কোনও কারণ নেই) এটি কোনও Q / A সাইট, কোনও কোড সংগ্রহস্থল নয় সুতরাং এটি কোনও কোড ছাড়াই কোড লেখার পরিবর্তে আপনার কোডটি ব্যাখ্যা করার চেয়ে আরও ভাল বিশেষজ্ঞের জ্ঞান এবং জ্ঞান share কিংবা ইনলাইন মন্তব্য ...
gmazzap

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