رفتن به مطلب

حل یک مشکل ساده در کد مطالب مشابه


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

سلام

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

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


<?php $category = get_the_category(); $category = $category[0]->cat_ID;?>
<?php $recent = new WP_Query("cat=$category&showposts=4"); while ($recent->have_posts()) : $recent->the_post(); ?>

لینک به ارسال

این رو تست کنید


<?php $category = get_the_category(); $category = $category[0]->cat_ID;?>
<?php
$recent = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'post',
'post__not_in' => array($post->ID),
'orderby' =>'ID',
'cat' => $category,
'posts_per_page' =>'4',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1

)); while ($recent->have_posts()) : $recent->the_post()
?>

لینک به ارسال

این رو تست کنید


<?php $category = get_the_category(); $category = $category[0]->cat_ID;?>
<?php
$recent = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'post',
'post__not_in' => array($post->ID),
'orderby' =>'ID',
'cat' => $category,
'posts_per_page' =>'4',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1

)); while ($recent->have_posts()) : $recent->the_post()
?>

ممنون

عالی بود.

لینک به ارسال
  • 4 هفته بعد...

آقا یه مشکل جدید توی کد برخوردم

پست هایی که حذف شده اند رو هم توی نتایجش نشون میده و 404 سایت زیاد میشه .

چطور حلش کنم ؟

لینک به ارسال
  • 6 ماه بعد...
سلام.کد ارور می ده! با وردپرس 3.8 سازگاری نداره؟!

کد رو باید تکمیل کنید


<?php $category = get_the_category(); $category = $category[0]->cat_ID;?>
<?php
$recent = new WP_Query(array(
'post_status' =>'publish',
'post_type' =>'post',
'post__not_in' => array($post->ID),
'orderby' =>'ID',
'cat' => $category,
'posts_per_page' =>'4'
));
while ($recent->have_posts()) : $recent->the_post()
?>
<a href="<?php the_permalink();?>" title="<?php the_title(); ?>"><?php the_title(); ?></a><br>

<?php endwhile; wp_reset_query(); ?>

لینک به ارسال
  • 2 ماه بعد...

اگه بخواییم بالاش نوشته بشه مطالب مرتبط و اینکه

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

لینک به ارسال

اگه بخواییم بالاش نوشته بشه مطالب مرتبط و اینکه

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

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

لینک به ارسال

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

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

بگذریم

الان شما میگی که بالای کد متن مورد نظرو بنویسم؟ خب کجا؟

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

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


.page-body {
background : #ffffff;
float : right;
padding : 0px ;
margin : 0px 0px 10px 0px ;
width : 520px;
}

که اسم که این کد فراخونی میکنه میشه page-body

ولی تو این کد الان ما باید چه اسمی به سی اس اس بدیم؟

امیدوارم منظورمو فهمونده باشم

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

در کل چیزی نمیدونم از کد نویسی :D مشخص نیست؟

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


<div id="recentDiv">
<h3 class="recentH3">مطالب مشابه</h3>
<ul class="recentUL">
<?php $category = get_the_category(); $category = $category[0]->cat_ID;?>
<?php
$recent = new WP_Query(array(
'post_status' =>'publish',
'post_type' =>'post',
'post__not_in' => array($post->ID),
'orderby' =>'ID',
'cat' => $category,
'posts_per_page' =>'4'
));
while ($recent->have_posts()) : $recent->the_post()
?>
<li><a href="<?php the_permalink();?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; wp_reset_query(); ?>
</ul>
</div>

و برای استایل دهی:


#recentDiv {}
#recentDiv h3.recentH3 {}
#recentDiv ul.recentUL {}
#recentDiv ul.recentUL li {}
#recentDiv ul.recentUL li a {}

لینک به ارسال

مرسی دوست عزیز کارم راه افتاد

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

یعنی یه پست با دسته احمد و یه پست دیگه با دسته رضا دسته بندی میکنیم و همه این دسته ها یه دسته مادر دارن مثلا دانلود آهنگ ایرانی

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

سوالم اینه

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

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

مثال میزنم

مثلا 3 تا پست دادیم به اسم احمد که در زیر مجموع دانلود آهنگ ایرانی هستند ( دانلود آهنگ ایرانی = مادر)

"طبق کدی که شما نوشتی یعنی 4 تا مطالب مشابه رو نشون میده">>> کد بیاد اول سه تا پستی که زیر مجموعه احمد هستند رو بزاره و قسمت چهار رو که دیگه زیر پست احمد نیست از اخرین پستی که مادر هستو بزاره

امیدوارم متوجه شده باشید

لینک به ارسال

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

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

لینک به ارسال

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

الان یه مشکلی رو دیدم

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

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

post-5319-0-48694700-1396251534_thumb.jp

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

post-5319-0-85103700-1396251603_thumb.jp

منتظر جواب شما هستم

مرسی از دوستان

لینک به ارسال

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

0d1f0c413b101.png


.mortabet{
width:495;
float:right;
font-size:9pt;
color:#333333;
display:block;
padding:15 7 0 0;
background:#DADADB;
border:1px #C6C6C6 solid;
border-radius:7px 7px 7px 7px;
-webkit-border-radius:7px 7px 7px 7px;
-moz-border-radius:7px 7px 7px 7px;
margin:0px 3px 5px 0px;
padding:5px 8px 5px 0px;
text-align:right;direction:rtl;
}
.mortabet a{color:#050505}
.mortabet a:hover{color:#CC3300;text-shadow: 0px 2px 3px #999999;}
.mortabet ul{padding:0;margin-right:0}
.mortabet li{padding:3 15 5 0;background:url('images/dot.png') 485px 7px no-repeat;list-style:none}
h3 {
font: normal 18px/21px "b yekan", byekan, arial;
margin: 0 20px -10px;
text-align: right;
color: #000000;
text-shadow: 0px 2px 3px #999999;
}

و این هم کد php


<div class="mortabet">
<h3>مطالب مرتبط </h3>
<?php
$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),
'showposts'=>6, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul class="latestnews style-omid4 ">';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
}
}
?>
</div>

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

فقط من خودم یه مشکل دارم اون هم اینه که من کد php رو بعد از پست قبل از ارسال نظرات قرار میدم و اون قسمت به هم میریزه و نظرات به نمایش در نمیاد ، کد رو داخل پست قرار میدم باز هم این مشکل وجود داره مشل از کجاست؟

به طور مثال در این پست 3 نظر وجود داره ولی هیچ یک به نمایش در نمیاد

لینک نمونه

لینک به ارسال

مرسی دوست عزیز

من اینو به این صورت تغییر دادم ایا درسته؟


<div class="recentDiv">
<font color="#040ed7">
<strong>مطالب مرتبط</strong>
</font>
<p> </p>
<ul>
<?php $category = get_the_category(); $category = $category[0]->cat_ID;?>
<?php
$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),
'showposts'=>4, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul class="latestnews style-omid4 ">';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
}
}
?>
</div>

یعنی به جای ابتدای کدی که دوستمون گذاشتن


<div class="mortabet">
<h3>مطالب مرتبط </h3>
<?php

کد زیرو جایگزین کردم


<div class="recentDiv">
<font color="#040ed7">
<strong>مطالب مرتبط</strong>
</font>
<p> </p>
<ul>
<?php $category = get_the_category(); $category = $category[0]->cat_ID;?>
<?php

دوستان بگید ایا اشتباه که نیست هست؟

لینک به ارسال

اگر این کد را داشته باشید


<?php $category = get_the_category(); $category = $category[0]->cat_ID;?>

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

لینک به ارسال
  • 2 ماه بعد...

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

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

سایت ماشین دارم، پست هام تو 2تا دسته قرار دارن یک دسته که کلی هست به اسم "ماشین" و دسته دیگه که به تفکیک مدل هست. این کد فکر کنم میاد از دسته "ماشین" مطالب رو انتخاب میکنه و چون اون هم یه دسته عمومی هست در واقع مطالب نامرتبط میشه. category[0] رو هم تغییر دادم اما بازم افاقه نکرد. راستی من از کاستوم پست تایپی به اسم Car استفاده میکنم که البته post type رو برابر با Car قرار دادم واسه این قضیه. ID دسته "ماشین" 2 هست. لطفا راهنمایی کنید که چه جوری تغییرش بدم درست کار کنه

لینک به ارسال
  • 2 سال بعد...
در در 4/2/2014 at 00:48، imanfakhar گفته است :

<?php $category = get_the_category(); $category = $category[0]->cat_ID;?>
<?php
$recent = new WP_Query(array(
  'post_status' =>'published',
  'post_type' =>'post',
	  'post__not_in' => array($post->ID),
  'orderby' =>'ID',
  'cat' => $category,
  'posts_per_page' =>'4',
  'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1

)); while ($recent->have_posts()) : $recent->the_post()
?>

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

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

یعنی دسته بندی موبایل 100 پست داره  در تمام 100 پست , نظرات مطلبی که بیشترین دیدگاه رو داره نشون میده  !!! ممنون میشم کمک کنید

 

ویرایش شده توسط mam1371
لینک به ارسال
در در 7/12/2016 at 01:36، mam1371 گفته است :

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

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

یعنی دسته بندی موبایل 100 پست داره  در تمام 100 پست , نظرات مطلبی که بیشترین دیدگاه رو داره نشون میده  !!! ممنون میشم کمک کنید

 

حل شد با   <?php wp_reset_query(); ?> قبل برچسب ها و نظرات

لینک به ارسال

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

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

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

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

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

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

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

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

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