lion_tik

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

10 پست در این موضوع قرار دارد

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

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

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

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

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

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

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

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

03-category

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

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

ویرایش شده در توسط محمدرضـا
1

به اشتراک گذاری این پست


لینک به پست

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

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

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

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

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

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

03-category

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

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

ممنون از شما

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

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

0

به اشتراک گذاری این پست


لینک به پست

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


<?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)

موفق باشید .

1

به اشتراک گذاری این پست


لینک به پست

نه دوست عزیز

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

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

category-

namak

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

category-

namak

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

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


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

1

به اشتراک گذاری این پست


لینک به پست

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

بنده یک 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;
?>

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

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط unid_user
      سلام دوستان
      من میخوام مطالبی رو که به صورت custom post type منتشر میکنم توی سابت نمایش داده بشه. ولی خطای 404 نشون میده. چه باید بکنم؟
      حدود دو سه روز هم هست که وقت میذارم ولی واقعا دیگه نمیدونم باید چکار کنم که محتوا رو نشونم بده؟
      کدهای زیر رو هم درون فایل functions.php قرار دادم.
      function create_post_type() { register_post_type( 'acme_product', array( 'labels' => array( 'name' => __( 'Products' ), 'singular_name' => __( 'Product' ) ), 'public' => true, 'has_archive' => true, ) ); } add_action( 'init', 'create_post_type' );  
    • توسط reza_yki
      سلام من یه custom post type به نام blog درست کردم ولی نمی دونم چطوری باید به این استایل بدم تو خود وردپرس یه چیزی پیدا کردم


      https://codex.wordpress.org/Post_Type_Templates

      من این طوری فایل رو درست کردم : archive-blog.php و استایل مورد نظر رو بهش دادم ولی تغییری داده نشد.
      مانند نوشته های دیگه نشون داده میشه
      من می خوام مثل یه دسته خاص که میشه بهش استایل داد به custom post type هم بشه استایل داد.
      ممنون