رفتن به مطلب

صفحه category و tag برای custom post type


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

سلام به دوستان

بنده یک custom post type درست کردم که محصولات سایت توش قرار میدم حالا با استفاده از archive-{custom-post-type}.php

امدم صفحه ارشیو درست کردم و مشکلی نیست ولی برای صفحات category و tag می خوام محصولات یک style خاص داشته باشه و مطالب دیگر سایت یک style دیگه داشته باشه یعنی وردپرس تشخیص بده این دسته که باز کرد مربوط به کدوم و استایل مربوطه رو بش بده.

چطور این کار ممکن؟

لینک به ارسال

1. قبل از هر کاری در قسمت دسته بندی یک دسته با نام و نامک دلخواه ایجاد کنید .

2. برای اینکه دسته بندی رو نشون بدید برید به قسمت فهرست ها و اون رو در منو قرار بدید .

3. مهمترین نکته :

برای اینکه برای دسته مورد نظرتان استایل خاص خودتون رو داشته باشه از فایل category.php یک کپی بگیرید و به نام “category-namak.php ” تغییر نام بدید .

توجه داشته باشید به جای category-namak.php (نامک - namak) ، نامکی که در هنگام ایجاد دسته بندی وارد کرده بودید اینجا هم همان را وارد کنید .

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

03-category

حالا اگر شما از قسمت تنظیمات وردپرس تعداد نوشته ها رو روی هر چقدر قرار داده باشید این تعداد رو نشون میده و اگر میخواهید از اون پیروی نکنه و دستی خودتون توی کدها وارد کنید و کوئری بگیرید .

در ضمن میتونید وارد کدها بشید و کلاس و آی دی به تگ ها اضافه کنید و به دلخواه استایلش رو تغییر بدید .

ویرایش شده توسط محمدرضـا
لینک به ارسال

1. قبل از هر کاری در قسمت دسته بندی یک دسته با نام و نامک دلخواه ایجاد کنید .

2. برای اینکه دسته بندی رو نشون بدید برید به قسمت فهرست ها و اون رو در منو قرار بدید .

3. مهمترین نکته :

برای اینکه برای دسته مورد نظرتان استایل خاص خودتون رو داشته باشه از فایل category.php یک کپی بگیرید و به نام “category-namak.php ” تغییر نام بدید .

توجه داشته باشید به جای category-namak.php (نامک - namak) ، نامکی که در هنگام ایجاد دسته بندی وارد کرده بودید اینجا هم همان را وارد کنید .

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

03-category

حالا اگر شما از قسمت تنظیمات وردپرس تعداد نوشته ها رو روی هر چقدر قرار داده باشید این تعداد رو نشون میده و اگر میخواهید از اون پیروی نکنه و دستی خودتون توی کدها وارد کنید و کوئری بگیرید .

در ضمن میتونید وارد کدها بشید و کلاس و آی دی به تگ ها اضافه کنید و به دلخواه استایلش رو تغییر بدید .

ممنون از شما

ولی مشکلی هست به این صورت که من الان یک دسته به نام محصولات دارم که نامک product بش دادم بعد صفحه catagory-product.php ساختم حالا برای دسته محصو.لات کد ها رو از این صفحه جدید لود می کنه ولی برای زیر دسته های دسته محصولات دیگه از این صفحه لود نمی کنه و از صفحه category.php لود می کنه

چه کنم که دسته و همه زیر دسته هاش از صفخه category-product.php لود کنه کدهاش رو ؟

لینک به ارسال

اگر منظورتان این هست که مطالب زیر دسته رو نشان بده از کد زیر میتونید استفاده کنید :


<?php
$catquery = new WP_Query( 'cat=1&showposts=15' );
while($catquery->have_posts()) : $catquery->the_post();
?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" ><?php the_title(); ?></a>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

سپس به جای cat=1 ، آی دی دسته (1)

و showposts=15 ، تعداد نمایش مطلب (15)

موفق باشید .

لینک به ارسال

نه دوست عزیز

ببنید من یک custom post type درست کردم به اسم محصولات مثلا حالا این مخصولات کل محصول رو شامل میشه و داخلش دسته های مثل محصول یک , محصول دو .... دارم.

با روش شما که گفتید با نامک یک

category-

namak

.php درست کن فقط و فقط وقتی روی دسته کلی یعنی محصولات کلیک میشه صفحه

category-

namak

.php لود میشه و برای سایر دسته ها مثلا محصول یک و محصول دو و .... که کلیک میشه همون صفحه category.php لود میشه

چی کار کنم برای تمام دسته های مرتبط به custom post type یک category page مخصوص لود بشه

لینک به ارسال

من طبق این آموزش کاری کردم وقتی برای یک دسته صفحه خاصی رو مد نظر میگیریم با id دسته مادر برای همه زیر دسته ها هم همون صفحه لود بشه

لینک منبع آموزش

الان مشکل جدید اینه که تو اون صفحه چطور میشه یک query نوشت که مثل صفحه category رو هر دسته که کلیک بشه فقط مطالبی که تو اون دسته زده شده نمایش داده بشه؟

لینک به ارسال

از کد زیر استفاده کنید :


<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
محتوا
<?php endwhile; else: ?>
<?php endif; ?>

لینک به ارسال

این query برای نمایش مطالبی که داخل نوشته ها _ نوشته شده مناسب ولی برای مطالبی که داخل custom post type نوشته شده مناسب نیست یعنی نمی تونه تشخیص بده و چیزی رو لود نمی کنه متاسفانه

داستانی شده این custom post type از نوع 90 قسمتیش

لینک به ارسال

سلام به دوستان

بنده یک custom post type درست کردم که محصولات سایت توش قرار میدم حالا با استفاده از archive-{custom-post-type}.php

امدم صفحه ارشیو درست کردم و مشکلی نیست ولی برای صفحات category و tag می خوام محصولات یک style خاص داشته باشه و مطالب دیگر سایت یک style دیگه داشته باشه یعنی وردپرس تشخیص بده این دسته که باز کرد مربوط به کدوم و استایل مربوطه رو بش بده.

چطور این کار ممکن؟

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

اولین کاری که باید بکنید برای اینکه بتونید تو سایت وردپرسی یک قسمت مثل قسمت نوشته ها داشته باشید تا بتونید محصولات رو داخلش درج کنید ساخت یک CUSTOM POST TYPE هستش که آموزشش تو نت هست جست و جو کنید.

بعد اینکه CUSTOM POST TYPE ساختید حالا باید مثل صفحات single category tag و .... رو براش بسازیم تا بتونیم محصولات که درج کردیم داخل سایت نمایش بدیم.

برای صفحات single و archiv خیلی ساده این کار کنید که یک کپی از هر کدوم بگیرید و اسمش رو به

single-your-custom_post_type_neme.php

تغییر بدید برای archiv هم به همین صورت این از این و صفحات single و archiv مخصوص محصولات ساخته شد و نمایش داده میشه.

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

اولی یک کپی از category.php بگیرید و اسم اون رو به این صورت تغییر بدید

category-[id].php

یا

category-[namak].php

این id و یا نامک id و نامک دسته مادر هست.دسته مادر چیه ؟ دسته مادر همون دسته ای هست که کل محصولات داخل اون یعنی به این صورت

محصولات -->

موبایل

رایانه

تبلت

و ...

اینجا دسته مادر , محصولات هستش و ما باید id یا نامک اون رو به اسم صفحه ای که مپی کردیم به شکل بالا که گفتم بدیم.

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

خوب با آموزش زیر کاری می کنیم که زیر دسته ها هم همون فایلی رو لود کنند که دسته مادر لود می کنند لینک آموزش

لینک منبع آموزش

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

ولی مشکل اینجاست که باید یک کد هم داخل این فایل جدید بنویسیم که بتونه محصولات رو نمایش بده یا همون نوشته های داخل custom post type رو

با استفاده از کد زیر این کار میکنیم


<?php
if (is_category()) {
$category = get_category(get_query_var('cat'));
$cat_id = $category->cat_ID;

}

$args = array( 'post_type' => 'products', 'posts_per_page' => 99999 , 'category__in' => $cat_id);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="slider-small">

<li>
<a href="<?php the_permalink();?>">
<?php the_post_thumbnail('medium'); ?>
<h2>
<a href="<?php the_permalink();?>" title="<?php the_title();?>"><?php the_title();?></a>
</h2>
</a>
<h2 class="des">
<?php the_excerpt();?>
</h2>
<div class="price">
<p><?php $data = get_post_meta($post->ID, 'rice_one', true);
echo !empty($data)?$data:"تماس بگیرید";?></p>
</div>
<ul>
<li><a href="#"><i class="fa fa-share-alt"></i>اشتراک</a></li>
<li><a href="#"><i class="fa fa-simplybuilt"></i>مقایسه</a></li>
<li><a href="<?php the_permalink();?>"><i class="fa fa-dot-circle-o"></i>مشخصات</a></li>
</ul>
</li>
<?php

endwhile;
?>

خوب دیگه تموم شد امیدوارم مفید باشه و استفاده کنید.

لینک به ارسال

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

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

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

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

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

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

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

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

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