رفتن به مطلب

ایجاد فایل جستجو برای پست تایپ خاص


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

سلام و درود

دوستان گرامی ، من یه فایل search.php ساختم و با دستور شرطی زیر گفتم اگه پست تایپ product بود نتایج رو نشون بده.

<div class="woocommerce woocommerce-box">
  <ul class="products">
    <?php if ( post_type_exists( 'product' ) ) : while ( have_posts() ) : the_post(); ?>
    <li class="product">
      <a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="<?php the_permalink(); ?>">
        <?php woocommerce_template_loop_product_thumbnail() ?>
        <h2 class="woocommerce-loop-product__title"><?php the_title(); ?></h2>
        <span class="price">
          <?php woocommerce_template_loop_price() ?>
        </span>
        <?php woocommerce_template_loop_add_to_cart(); ?>
      </a>
    </li>
    <?php endwhile; ?>
    <?php else: ?>

    <?php endif; ?>
  </ul>
</div>

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

Fatal error: Call to a member function get_price_html() on null in /home2/tinymedi/public_html/wp-content/plugins/woocommerce/templates/loop/price.php on line 26

اولا راهی برای حل این مشکل وجود داره؟

دوم اینکه میشه مثلا search-product.php ساخت و نتایج جستجو رو از search.php جدا نمایش بده؟

با تشکر و سپاس

ویرایش شده توسط unid_user
لینک به ارسال

سلام

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

<div class="woocommerce woocommerce-box">
    <ul class="products">

		<?php if ( post_type_exists( 'product' ) ) : while ( have_posts() ) : the_post(); ?>

			<?php if ( get_post_type() == 'product' ): //check for post type ?>

                <li class="product">
                    <a class="woocommerce-LoopProduct-link woocommerce-loop-product__link"
                       href="<?php the_permalink(); ?>">
						<?php woocommerce_template_loop_product_thumbnail() ?>
                        <h2 class="woocommerce-loop-product__title"><?php the_title(); ?></h2>
                        <span class="price"><?php woocommerce_template_loop_price() ?></span>
						<?php woocommerce_template_loop_add_to_cart(); ?>
                    </a>
                </li>

			<?php endif; ?>

		<?php endwhile; ?>

		<?php else: ?>

		<?php endif; ?>
    </ul>
</div>

 

لینک به ارسال

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

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

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

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

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

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

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

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

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