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_htmlএ class-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.