رفتن به مطلب

چطور میشه شورت کد ووکامرس ویرایش کرد؟


ahmad4u

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

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


[recent_products]

لینک ما جهت قرار گیری در حلقه



$mid_var = get_post_meta($prd_id, 'dm','true')  {
if(isset($mid_var) && !empty($mid_var)) {   get_post_meta ($prd_id, 'dm','ture'); 
$dz= "https://stat.co".$mid_var; }

کد شورت کد

/**
 * Recent Products shortcode
 *
 * @param array $atts
 * @return string
 */
public static function recent_products( $atts ) {
    global $woocommerce_loop;

    $atts = shortcode_atts( array(
        'per_page'  => '12',
        'columns'   => '4',
        'orderby'   => 'date',
        'order'     => 'desc'
    ), $atts );

    $meta_query = WC()->query->get_meta_query();

    $args = array(
        'post_type'             => 'product',
        'post_status'           => 'publish',
        'ignore_sticky_posts'   => 1,
        'posts_per_page'        => $atts['per_page'],
        'orderby'               => $atts['orderby'],
        'order'                 => $atts['order'],
        'meta_query'            => $meta_query
    );

    ob_start();

    $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );

    $columns = absint( $atts['columns'] );
    $woocommerce_loop['columns'] = $columns;

    if ( $products->have_posts() ) : ?>

        <?php woocommerce_product_loop_start(); ?>

            <?php while ( $products->have_posts() ) : $products->the_post(); ?>

                <?php wc_get_template_part( 'content', 'product' ); ?>

            <?php endwhile; // end of the loop. ?>

        <?php woocommerce_product_loop_end(); ?>

    <?php endif;

    wp_reset_postdata();

    return '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';
}

 

 

لینک به ارسال

سلام  

دوست عزیز این کد هایی که گذاشتید با توجه به اطلاعاتی که بدست میاره اگر پستی وجود داشته باشه میاد اطلاعات رو میفرسته به صفحه content-product.php  حالا شما میخواهید بجای ارسال به صفحه ذکر شده بفرسته به جای دیگه باید داخل حلقه جای کد 

<?php wc_get_template_part( 'content', 'product' ); ?>

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

لینک به ارسال

تشکر از شما

البته ما راه دیگه ای رو رفتیم و دوس داشتیم با یک action یا function بدون دستکاری تو کدهای کار انجام بشه

 

روشی که رفتیم

یک فایل content حاوی کدهای خودمون ساختیم و در کد بالا جایگذاری کردیم

<?php wc_get_template_part( 'contentwoo', 'product' ); ?>
لینک به ارسال

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

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

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

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

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

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

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

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

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