سعید شعبانی

مشکل مطالب مرتبط با بیش از یک برچسب

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

سلام دوستان

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


<?php
//for use in the loop, list 5 post titles related to first tag on current post
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'showposts'=>5,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts('') ) { echo '<div class="so"><div class="container"><ul>';
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li><?php if ( has_post_thumbnail() ) {?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a>
<?php }
else {?>
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/no-thumbnail.png" /></a>
<?php
}
?><div class="recent_post_det"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></div></li>
<?php
endwhile;
}
}
?>

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


لینک به پست

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

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

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


لینک به پست

ممنون درست شد کد صحیح به شکل زیر شد


<?php
$backup = $post;
$tags = wp_get_post_tags($post->ID);
$tagIDs = array();
if ($tags) {
$tagcount = count($tags);
for ($i = 0; $i < $tagcount; $i++) {
$tagIDs[$i] = $tags[$i]->term_id;
}
$args=array(
'tag__in' => $tagIDs,
'post__not_in' => array($post->ID),
'showposts'=>5,
'caller_get_posts'=>1
);
query_posts($args);
if( have_posts() ) { echo '<div class="so"><div class="container"><ul>';
while (have_posts()) : the_post(); ?>
<li><?php if ( has_post_thumbnail() ) {?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a>
<?php }
else {?>
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/no-thumbnail.png" /></a>
<?php
}
?><div class="recent_post_det"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></div></li>
<?php
endwhile;
}
}

$post = $backup;
wp_reset_query();
?></ul>
</div>
</div>
</div>

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط IFTHEN
      یه اسلایدر دارم، می خوام یک تگ مثل X رو تعریف کنم و هر پستی که این تگ (برچسب) رو داشت عکس شاخصش داخل اسلایدر صفحه اصلی نمایش داده بشه.
      ممنون می شم راهنمایی بفرمایید به چه صورت می تونم این کار رو انجام بدم.
    • توسط logomaster
      سلام
      من برچسب پست ها رو در بخش مربوط خود وردپرس قرار میدم. حالا قالب من هم یک بخش برای هر پست داره که اسمش (سئو کلمات کلیدی) هست و من همون برچسب هایی رو که در بخش پیشفرض وردپرس وارد کردم اینجا هم قرار میدم. میخواستم بدونم آیا تداخل و یا مشکلی از نظر سئو پیش نماید؟
    • توسط __PEYMAN__
      دوستان جدا کردن تگ ها در مطالب با کاما باید باشه یا ویرگول ؟؟؟ آخه بنده از طریق خود وردپرس برچسب میزارم خودش نوشته با کاما جدا کنین ولی به همه نوشته ها میرم و نوشته ها و تگ هاشونو میبینم ، میبینم که با ویرگول جدا کرده ... 
      بهترین شیوش چیه ؟؟؟ آیا واقعا فرقی داره ؟؟؟
    • توسط alitna
      سلام
      من چندین پست تایپ دارم ، که برای هرکدوم هم اسم taxonomy tag هاش ، متفاوته ..
      قسمت برچسب های پست تایپ ها با این کد ساخته شده :
      function create_tag_taxonomies_album() { // Add new taxonomy, NOT hierarchical (like tags) $labels = array( 'name' => _x( 'برچسب ', 'taxonomy general name' ), 'singular_name' => _x( 'برچسب', 'taxonomy singular name' ), 'search_items' => __( 'جستجو برای برچسب' ), 'popular_items' => __( 'برچسب های محبوب' ), 'all_items' => __( 'همه برچسبها' ), 'parent_item' => null, 'parent_item_colon' => null, 'edit_item' => __( 'ویرایش برچسب' ), 'update_item' => __( 'بروز رسانی برچسب' ), 'add_new_item' => __( 'اضافه کردن' ), 'new_item_name' => __( 'نام' ), 'separate_items_with_commas' => __( 'برای جدا کردن هر برچسب از ویرگول استفاده کنید (,)' ), 'add_or_remove_items' => __( 'حذف و اضافه برچسب' ), 'choose_from_most_used' => __( 'استفاده از برچسب های استفاده شده' ), 'menu_name' => __( 'برچسب' ), ); register_taxonomy('tagalbum','album',array( 'hierarchical' => false, 'labels' => $labels, )); } add_action( 'init', 'create_tag_taxonomies_album', 0 ); اما من میخوام که همه پست تایپ هام با قسمت برچسب "ارسال مطلب" خود وردپرس یکی باشه .
      که هم لینکهاش به صورت/tag/ باشه و هم محتویات با فایل tag.php نمایش داده بشه ، و همه شون دارای یک نام باشن تا با تگ the_tags تو قالب نمایش داده بشن .
      به چه صورت میشه اسمهاشونو یکی کرد ؟! (قسمت tagalbum رو همه شونو یکی گذاشتم ولی باکس برچسب هارو توی ارسال مطلب نشون نداد ، انگار حتما باید متفاوت باشن)
    • توسط kambiz619
      سلام
      من از افزونه yoast برای بهینه سازی سایتم استفاده میکنم مشکلی که خیلی وقته فکر منو ب خودش مشغول کرده اینه که
      چرا قسمت کلمات کلیدی ( برچسب ها ) در قالب به نمایش در نمیاد؟
      و باید اونو کپی کنیم توی قسمت پنل برچسب پیش فرض خود ورپرس قرار بدیم تا به نمایش در بیاد و جالبه اونهایی که کپی نمیکنم توی گوگل ایندکس نشدن !
      آیا تگ مخصوصی داره که اونو فراخونی کنم ؟