it-swarm.asia

عرض فئات عشوائية في الصفحة الأولى (العثور على وظائف السمة وتحريرها)

أنا حاليًا في المراحل ألفا من تحرير سمة تابعة لموضوع Wordpress. لدي خبرة برمجية وبعض الخبرة في إدارة وورد ولكن ليس لدي خبرة مباشرة في تحرير التعليمات البرمجية ذات الصلة بـ Wordpress. الآن يعرض حاليًا الفئات الثلاث الأولى أبجديًا.

ما أحاول القيام به: بدلاً من عرض الفئات الثلاث الأولى أبجديًا ، أود عرض ثلاث فئات عشوائية تحتوي على أكثر من x عدد من المنتجات.

لقد واجهت الحواجز/الأسئلة التالية التي تمنعني من المتابعة.

  1. ما هي الآلية/الوظيفة التي تتحكم في اختيار هذه الفئات؟ (TheirCode)
  2. هل هو موضوع قائم أو شيء في نظام ووردبريس الأساسي؟
  3. ما هي المعلومات الأخرى ذات الصلة لإجراء هذا التغيير؟
  4. ما هي المعلومات التي ستكون مفيدة من Firefox Dev Bar؟
  5. كيف يمكنني العثور على "رمزهم" حتى أتمكن من استبداله بـ "MyCode"؟

السؤال الحقيقي هنا هو: كيف يمكنني العثور على "رمزهم" المسؤول عن هذا الاختيار باستخدام أدوات مثل firefox Dev Bar والمصدر الفعلي؟

هذا السؤال ليس حول WooCommerce (البرنامج المساعد). أنا أبحث عن طريقة للعثور على وظيفة في سمة صممتها WooCommerce (الشركة) أو في أي سمة بالفعل.

موضوع مفتوح المصدر: WooCommerce Storefront

8
T. Thomas

السؤال الحقيقي هنا هو: كيف يمكنني العثور على "كودهم" المسؤول عن هذا الاختيار باستخدام أدوات مثل شريط فايرفوكس ديف والمصدر الفعلي؟

إذا أنت تشير إلى إخراج/مصدر HTML ، ثم على سبيل المثال على السمة الرسمية لمتجر Store demo site ، فقط انقر بزر الماوس الأيمن على العنوان أو القسم "فئات المنتجات" ، ثم يمكنك بسهولة فحص ذلك section. راجع MDN doc للحصول على خيارات أخرى مثل أيقونة "تحديد العنصر".

enter image description here

الآن بالنسبة إلى " المصدر الفعلي " (أي رمز أو وظيفة PHP التي تنشئ قسم "فئات المنتجات" في الصفحات التي تستخدم قالب "الصفحة الرئيسية") ، يمكنك العثور عليها في inc/storefront-template-functions.php .

if ( ! function_exists( 'storefront_product_categories' ) ) {
    /**
     * Display Product Categories
     * Hooked into the `homepage` action in the homepage template
     *
     * @since  1.0.0
     * @param array $args the product section args.
     * @return void
     */
    function storefront_product_categories( $args ) {

        if ( storefront_is_woocommerce_activated() ) {

            $args = apply_filters( 'storefront_product_categories_args', array(
                'limit'             => 3,
                'columns'           => 3,
                'child_categories'  => 0,
                'orderby'           => 'name',
                'title'             => __( 'Shop by Category', 'storefront' ),
            ) );

            ...
        }
    }
}

لذلك storefront_product_categories() هي وظيفة PHP التي تبحث عنها والتي يمكنك تماماتجاوز إذا كنت تريد (راجع https://docs.woocommerce.com/document/set- up-and-use-a-child-theme/# section-5 ). ولكن إذا كنت ترغب فقط في عرض فئات المنتجات في فرز عشوائي ، فيمكنك ببساطة استخدام storefront_product_categories_args لتصفية وسيطات الاستعلام (والتي في حسابك ستكون الحالة orderby):

add_filter( 'storefront_product_categories_args', function( $args ){
    $args['orderby'] = 'Rand';
    return $args;
} );

يتم استدعاء هذا المرشح من داخل storefront_product_categories() ، وهذه هي المرشحات/الإجراءات الأخرى التي يمكنك استخدامها:

  • مرشح: storefront_product_categories_shortcode_args

  • الإجراء: storefront_homepage_before_product_categories

  • الإجراء: storefront_homepage_after_product_categories_title

  • الإجراء: storefront_homepage_after_product_categories

راجع هذا إذا لم تكن متأكدًا من الفروق بين "إجراء" و "مرشح".


استكمال: كيفهل يمكن أن تجد الرمز؟

استعرض من خلال وثائق واجهة واجهة المتجر :

أنا أبحث عن طريقة للعثور على وظيفة في سمة صممتها WooCommerce (الشركة) أو في أي سمة بالفعل.

  • أولاً ، تحقق (واقرأ) وثائق السمة.

  • إذا لم يعثر أحد على المعلومات التي تحتاجها أو لم تعثر عليها ، فجرّب ما اقترحه motivast - افحص العناصر الموجودة في الصفحة ، وابحث عن كود HTML المناسب و/أو CSS class/id ، ثم ابحث في ملفات السمات عن HTML أو CSS class/id حتى تعثر على الملف الصحيح أو PHP code/function.

على سبيل المثال ، على موقع العرض التجريبي لسمة Storefront ، يكون HTML لقسم فئات المنتجات:

<section class="storefront-product-section storefront-product-categories" aria-label="Product Categories">
    ...
</section>

حتى تتمكن من البحث في ملفات السمات باستخدام واحد من هذه الكلمات الرئيسية: (سأبدأ من المطابقة الأكثر تحديدًا أو الأقرب إلى HTML الذي تم إنشاؤه)

  • <section class="storefront-product-section storefront-product-categories"

  • class="storefront-product-section storefront-product-categories"

  • storefront-product-categories

  • storefront-product-section

على افتراض أنك لم تكن على دراية بوثائق واجهة المتجر/السمة ، فإن إجراء عمليات البحث المذكورة أعلاه سوف ينقلك في النهاية إلى الملف الصحيح أو PHP code/function.

إذا كنت بحاجة إلى مزيد من المساعدة ، فأعلمني وسأحدث هذه الإجابة وفقًا لذلك.

11
Sally CJ