رفتن به مطلب

نمایش پستهای مرتبط با دسته در سایدبار صفحه کتگوری


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

سلام

میخوام در صفحه کتگوری در قسمت ستون کناری پست های مربوط به اون دسته رو نشون بده

مثلا الان یه دسته درست کردم و چند زیر دسته هم براش قرار دادم

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

من از این کد استفاده کردم اما هیچ خروجی ندادش

البته در دست هایی که زیر مجوعه نداره این کد به درستی کار کردش

اما الان برای زیر مجموعه دار نشون نمیده


<?php $orig_post = $post;
global $post;
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=> 5,
'caller_get_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) { while( $my_query->have_posts() ) {
$my_query->the_post();?>
<li>
<a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>" alt="<?php the_title(); ?>">
<?php the_post_thumbnail( array(150,100) ); ?>
</a>
</li>
<?php
}
}
}
$post = $orig_post;
wp_reset_query(); ?>
</ul>

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

فکر کنم بد منظورمو رسوندم

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

خب الان تونستم این کار رو انجام بدم

منتهی میخوام در چند جعبه استفاده کنم

اگر به سایت های خبری دقت کنید در ستون کناری چند تا جعبه دارند که هر کدوم یه چیزی رو نشون میده

مثلا یکی ویدئو های همون دسته رو

یکی مقالات همون دسته رو

یکی مسابقات اون دسته رو

من هم میخوام همینطوری انجام بدم

اما نمیدونم چطوری با کدهای بالایی این کار رو انجام بدم

الان من هم چند تا جعهب (box) ایجاد کردم

که در یکیش همین کد بالایی رو گذاشتم و مطالب هم میادش ( البته همه ی مطالب اون دسته رو )

اما جعبه های دیگه رو چیکار کنم

یعنی یه دسته مادر دارم مثلا ورزش

زیر دسته براش ایجاد کردم با نام های فیلم ها - مقالات - مسابقات

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

و در جعبه مقالات , مقالات همون دسته مادر رو نشون بده

در قسمت مسابقات هم ...

خب کد های رو چطوری بزارم؟

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

لینک به ارسال

کدی که مطالب زیر دسته رو نشون بده هست؟

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

چطوری میشه مطالب زیر دسته همون دسته مادر رو نشون یده؟

نمیدونم چطوری منظورمو برسونم !

میخوام برای همه دسته هام 2 یا 3 تا زیر دسته بسازم که نامشون یکی باشه مثلا ویدئو - مقالات - مسابقات

میخوام وقتی مثلا وارد یه مطلب که دسته مادرش ورزش هست تو ستون کناری ویدئو ها و مقالات و مسابقات همون دسته رو نشون بده

و وقتی هم وارد یه مطلب دیگه شدم که دسته مادرش رباتیک بود در ستون کناری ویدئو و مقالات و مسابقات اون دسته مادر رو نشون بده

در اصل نیاز به کدی هست که بعد از اینکه فهمید کدوم دسته هست مطالب زیر دسته ای که مشخص کردیم ( مثلا ویدئو ها ) رو خروجی بده

لینک به ارسال

شما کافیه اول آی دی دسته رو بگیرید

بعد هم میتونید با تابع get_category هر چیزی که نیاز دارید اعم از زیر دسته براساس آی دی رو نمایش بدید

لینک به ارسال

ممنون

میدونم میشه بصورت دستی قرار دادش

اما تعداد دسته ها زیاد هست و امانش نیس برای هر دسته دو فایل single & catelogy بسازم

نمیدونم امکان ساخت همچین متغییری هست یا نه

بطور مثال 50 تا دسته داریم که هر کدوم از این دسته ها 3 زیر دسته داره بنام های ویدئو و مقالات و مسابقه

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

و همینطور وقتی وارد مطلب یه دسته دیگه رفتم ویدئو ها ومقالات و مسابقات همین دسته رو برام بیاره

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


$categories = get_the_category($post->ID);

منتهی من میخوام ویدئو های این دسته رو برام بیاره ( ویدئو ها هم بعنوان زیر دسته همین دسته مادر قرار داره)

لینک به ارسال

متوجه منظور من نشدید

اصلا نیاز به ایجاد فایل نیست

آی دی دسته جاری رو بگیرید بو عد بقیه کارها با همون تابعی که گفتم

لینک به ارسال

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

چون زیاد آشنا نیستم به این زبان php

لینک به ارسال

این کد را در سایدبار چک کنید


<?php /* If this is a category archive */ if (is_category()) {
$cattitle = single_cat_title('', false);
$cat = get_cat_ID( $cattitle); ?>
<?php
$custom_query = new WP_Query(array(
'post_status' =>'publish',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'cat' => $cat,
'posts_per_page' =>'10',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
if($custom_query->have_posts()) : ?>
<ul>
<?php
while($custom_query->have_posts()) : $custom_query->the_post();
?>
<li><a href="<?php the_permalink(); ?>" ><?php the_title(); ?></a></li>

<?php endwhile;endif;?></ul><?php wp_reset_query(); ?>

<?php };?>

لینک به ارسال

ممنون

اما مشکل من این نی

الان که فکر میکنم می بینم که جز دستی وارد کردن دسته ها چاره دیگه ای نیست

چون ساید بار باید در سه قسمت , 3 نوع مطالب متفاوت رو نشون بده

یعنی هر دسته مادر 3 زیر مجموعه داره که باید در سه قسمت اینا رو نشون بده و چون جدا از هم و همه در یه دسته نیستن پس چاره ای نیست که داخل ساید بار کد رو سه بار تکرار و فقط ایدی دسته ها رو وارد کنم

لینک به ارسال

اگر زیر دسته ها کاملا مشخص باشه می شه کوئری نوشت


<?php /* If this is a category archive */ if (is_category()) {
$cattitle = single_cat_title('', false);
$cat = get_cat_ID( $cattitle); ?>
<?php
if(in_category(5) or in_category(9) or in_category(12)) : ?>
<?php
$custom_query = new WP_Query(array(
'post_status' =>'publish',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'cat' => $cat,
'posts_per_page' =>'10',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
if($custom_query->have_posts()) : ?>
<ul>
<?php
while($custom_query->have_posts()) : $custom_query->the_post();
?>
<li><a href="<?php the_permalink(); ?>" ><?php the_title(); ?></a></li>

<?php endwhile;endif;?></ul><?php wp_reset_query(); ?>
<?php endif; ?>
<?php };?>

فرض شده سه دسته اصلی وجود دارند که اولین زیر دسته یکی 5 و دومی 9 و سومی 12 است

لینک به ارسال

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

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

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

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

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

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

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

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

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