رفتن به مطلب

نشان دادن مطالب مرتبط بدون پلاگین


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

شما باید محل تگ بسته div رو تغییر بدهید:

فکر کنم مشکل از این خط باشه


echo '<div class="title"><div id="matn">مطالب مرتبط</div></div><div id="padd">';

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

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

حال اگر بخواهیم در این صورت پیام "مطالب مرتبط برای این موضوع یافت نشد" را چاپ کند کجاش باید این شرط را قرار دهیم .

اینم کد نهایی که استفاده میکنم


<div class="center-block">
<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
echo '<div class="title"><div id="matn">مطالب مرتبط</div></div>';
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'showposts'=>10, // 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="archive">';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><div id="related"><a href="<?php the_permalink() ?>" rel="bookmark" title="لینک مستقیم به: <?php the_title_attribute(); ?>"><?php the_title(); ?></li></a>
<?php
}
echo '</ul>';
}
}else{
echo 'این مطلب فاقد برچسب میباشد';
}
?></div>
<?php wp_reset_query(); wp_reset_postdata();?>

ممنون

  • امتیاز 1
لینک به ارسال

شما برای شرط اول حالت else را قرار دادید

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

  • امتیاز 2
لینک به ارسال

شما برای شرط اول حالت else را قرار دادید

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

نمودونم شرط را باید کجا بزارم؟

  • امتیاز 1
لینک به ارسال

قبل از else

مانند همان else

درست شد ممنون



<?php
}
echo '</ul>';

}else{
echo 'این پست فاقد مطالب مرتبط میباشد';
}
}else{
echo 'این مطلب فاقد برچسب میباشد';
}
?></div>>

ویرایش شده توسط YOU
لینک به ارسال
  • 8 ماه بعد...

سلام

در کدی که دوستمون دادند قبل از تگ h3 یک div با کلاس مشخص ایجاد کنید و بعد از اتمام ul ببندید مثل کد زیر


<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'showposts'=>5, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<div class="rtpost"><h3>Related Posts</h3><ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul></div>';
}
}
?>

حالا فایل style.css را باز کنید و به کلاس rtpost استایل بدید مانند کد زیر (یا هر استایلی که خود صلاح می دانید)


.rtpost {
padding:25px;
display:block;
text-align:right;
background:#EEE;
font-family:Arial, Helvetica, sans-serif, Tahoma;
font-weight:400;
font-size:12px;
color:#000;
border:3px #000 double;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
-khtml-border-radius:6px;
}

من این کاری رو که فرمودین انجام دادم. فقط یه نکته: اگر بخوام عنوان هر مطلب مرتبط رو ب صورت Bullet دار در بیارم چطوریه؟ یعنی فرمانی که باید بنویسم چیه؟
  • امتیاز 1
لینک به ارسال
  • 2 هفته بعد...

...

....

...

دوستان من فهمیدم مشکل وردپرسم کجاست!

توی این صفحه نوشته که این کد باعث میشه که کامنتها در پستهای اشتباهی منتشر بشن! دقیقا مشکلی که الآن من با وردپرس دارم.

php کاران محترم بفرمایند که این کد رو میشه اصلاح کرد یا باید از خیرش گذشت؟

لینک به ارسال

دوستان من فهمیدم مشکل وردپرسم کجاست!

توی این صفحه نوشته که این کد باعث میشه که کامنتها در پستهای اشتباهی منتشر بشن! دقیقا مشکلی که الآن من با وردپرس دارم.

php کاران محترم بفرمایند که این کد رو میشه اصلاح کرد یا باید از خیرش گذشت؟

کدوم کد؟

لینک به ارسال

این کد:

کدوم کد؟


<?php
=======$backup = $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'showposts'=>10, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<div class="rtpost"><h1>همچنین بخوانید:</h1><ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
[b]========$post = $backup;
========== wp_reset_query();[/b]
?>

اون یک خط اول و دو خط آخر که جلوش ====== گذاشتم رو خودم همین الآن اضافه کردم که ببینم مشکل حل میشه یا نه!

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

به نظرتون میشه؟

این سه خط رو که گذاشتم بدتر شد. توی مطالب مرتبط همون مطلبی رو که توش هستی میاره!

حذفش کردم

لینک به ارسال

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


$tmp_query = $wp_query;

و انتهای کد


// Reset Post Data
wp_reset_postdata();
// Reset Query
wp_reset_query();
// load temp query
$wp_query = $tmp_query;

  • امتیاز 3
لینک به ارسال

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


$tmp_query = $wp_query;

و انتهای کد


// Reset Post Data
wp_reset_postdata();
// Reset Query
wp_reset_query();
// load temp query
$wp_query = $tmp_query;

یعنی اون اولی رو بذارم ابتدای کد و بعد این پایینی ها رو بذارم انتهای کد؟
  • امتیاز 1
لینک به ارسال

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


$tmp_query = $wp_query;

و انتهای کد


// Reset Post Data
wp_reset_postdata();
// Reset Query
wp_reset_query();
// load temp query
$wp_query = $tmp_query;

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

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

با پوسته پیش فرض همین کد روتست کردید؟

  • امتیاز 1
لینک به ارسال

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


$tmp_query = $wp_query;

و انتهای کد


// Reset Post Data
wp_reset_postdata();
// Reset Query
wp_reset_query();
// load temp query
$wp_query = $tmp_query;

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

با پوسته پیش فرض همین کد روتست کردید؟

آقا درست شد.

از اون دوتا کدی که پارسا داد، کد ابتدایی رو در اول اول کد و کد انتهایی رو در آخر آخر کد گذاشتم درست شد.

  • امتیاز 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...