رفتن به مطلب

قرار دادن فیلتر مرتب سازی محصولات ووکامرس در صفحه اول


maral_hamidi

پست های پیشنهاد شده

سلام.. وقت بخیر..

دوستان، همونطور که میدونید تو صفحه فروشگاه ووکامرس گزینه ای سلکت باکسی وجود داره که میشه نمایش محصولات رو بر اساس جدیدترین ها ، محبوبترین ها و ... مرتب سازی کرد..

مثل تصویری که ضمیمه کردم..

من تو صفحه اول سایتم بخشی رو از حلقه ووکامرس استفاده کردم برای نمایش جدیدترین محصولات.

چطور میتونم به این بخش تو صفحه اصلی سایتم اون فیلتر مرتب سازی رو اضافه کنم؟؟

کدهایی که تو خود ووکامرس پیدا کردم به این شکله:

<form class="woocommerce-ordering" method="get">
	<select name="orderby" class="orderby">
		<?php foreach ( $catalog_orderby_options as $id => $name ) : ?>
			<option value="<?php echo esc_attr( $id ); ?>" <?php selected( $orderby, $id ); ?>><?php echo esc_html( $name ); ?></option>
		<?php endforeach; ?>
	</select>
	<?php wc_query_string_form_fields( null, array( 'orderby', 'submit' ) ); ?>
</form>

ولی خب تو صفحه اول تو اون بخش مورد نظر که میذارم فقط یک سلکت باکس رو نمایش میده که هیچ مقداری توش نداره.

ممنون میشم از راهنمایی هاتون..

 

2324.jpg

لینک به ارسال

دوستان ، من کدی که میخواستم رو پیدا کردم. ولی فعلا نتونستم توحلقه ووکارس ازش استفاده کنم.. اگه اطلاعی دارین بهم کمک کنید..

کدش اینه:
 


 <form class="woocommerce-ordering" method="get">
                <select name="orderby" class="orderby">
                    <?php
                        $catalog_orderby = apply_filters( 'woocommerce_catalog_orderby', array(
                            'menu_order' => __( 'Default sorting', 'woocommerce' ),
                            'popularity' => __( 'Sort by popularity', 'woocommerce' ),
                            'rating'     => __( 'Sort by average rating', 'woocommerce' ),
                            'date'       => __( 'Sort by newness', 'woocommerce' ),
                            'price'      => __( 'Sort by price: low to high', 'woocommerce' ),
                            'price-desc' => __( 'Sort by price: high to low', 'woocommerce' )
                        ) );

                        if ( get_option( 'woocommerce_enable_review_rating' ) === 'no' )
                            unset( $catalog_orderby['rating'] );

                        foreach ( $catalog_orderby as $id => $name )
                            echo '<option value="' . esc_attr( $id ) . '" ' . selected( $getorderby, $id, false ) . '>' . esc_attr( $name ) . '</option>';
                    ?>
                </select>
                <?php
                    // Keep query string vars intact
                    foreach ( $_GET as $key => $val ) {
                        if ( 'orderby' === $key || 'submit' === $key )
                            continue;

                        if ( is_array( $val ) ) {
                            foreach( $val as $innerVal ) {
                                echo '<input type="hidden" name="' . esc_attr( $key ) . '[]" value="' . esc_attr( $innerVal ) . '" />';
                            }

                        } else {
                            echo '<input type="hidden" name="' . esc_attr( $key ) . '" value="' . esc_attr( $val ) . '" />';
                        }
                    }
                ?>
            </form>

 

لینک به ارسال
در 4 ساعت قبل، maraljoon گفته است :

دوستان ، من کدی که میخواستم رو پیدا کردم. ولی فعلا نتونستم توحلقه ووکارس ازش استفاده کنم.. اگه اطلاعی دارین بهم کمک کنید..

کدش اینه:
 



 <form class="woocommerce-ordering" method="get">
                <select name="orderby" class="orderby">
                    <?php
                        $catalog_orderby = apply_filters( 'woocommerce_catalog_orderby', array(
                            'menu_order' => __( 'Default sorting', 'woocommerce' ),
                            'popularity' => __( 'Sort by popularity', 'woocommerce' ),
                            'rating'     => __( 'Sort by average rating', 'woocommerce' ),
                            'date'       => __( 'Sort by newness', 'woocommerce' ),
                            'price'      => __( 'Sort by price: low to high', 'woocommerce' ),
                            'price-desc' => __( 'Sort by price: high to low', 'woocommerce' )
                        ) );

                        if ( get_option( 'woocommerce_enable_review_rating' ) === 'no' )
                            unset( $catalog_orderby['rating'] );

                        foreach ( $catalog_orderby as $id => $name )
                            echo '<option value="' . esc_attr( $id ) . '" ' . selected( $getorderby, $id, false ) . '>' . esc_attr( $name ) . '</option>';
                    ?>
                </select>
                <?php
                    // Keep query string vars intact
                    foreach ( $_GET as $key => $val ) {
                        if ( 'orderby' === $key || 'submit' === $key )
                            continue;

                        if ( is_array( $val ) ) {
                            foreach( $val as $innerVal ) {
                                echo '<input type="hidden" name="' . esc_attr( $key ) . '[]" value="' . esc_attr( $innerVal ) . '" />';
                            }

                        } else {
                            echo '<input type="hidden" name="' . esc_attr( $key ) . '" value="' . esc_attr( $val ) . '" />';
                        }
                    }
                ?>
            </form>

 

این کده رو فک کنم باید خارج حلقه بذاری.

لینک به ارسال
در 20 ساعت قبل، mehran-b گفته است :

این کده رو فک کنم باید خارج حلقه بذاری.

ممنون..

خارج حلقه ازش استفاده کنم چطور تاثیرش رو روی محتوایی که از طریق حلقه لود میشه میذاره؟؟

لینک به ارسال
در 7 ساعت قبل، maraljoon گفته است :

ممنون..

خارج حلقه ازش استفاده کنم چطور تاثیرش رو روی محتوایی که از طریق حلقه لود میشه میذاره؟؟

والا تا حالا با ووکامرس کار نکردم.

ولی اگر کده لیست مرتب سازی رو نشون میده قطعا جاش توی حلقه نیست.

یه فرم هست که اطلاعاتش رو ارسال میکنه به ووکامرس و ووکامرس با استفاده از اطلاعات ارسال شده order رو تغییر میده.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...