رفتن به مطلب

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


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

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

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


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

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

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

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

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


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

ممنون

لینک به ارسال

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

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

لینک به ارسال

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

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

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

لینک به ارسال

قبل از 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 دار در بیارم چطوریه؟ یعنی فرمانی که باید بنویسم چیه؟
لینک به ارسال
  • 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;

لینک به ارسال

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


$tmp_query = $wp_query;

و انتهای کد


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

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

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


$tmp_query = $wp_query;

و انتهای کد


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

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

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

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

لینک به ارسال

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


$tmp_query = $wp_query;

و انتهای کد


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

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

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

آقا درست شد.

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

لینک به ارسال

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

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

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

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

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

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

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

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

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