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

سلام دوستان! برای اینکه برگه های مرتبط رو در وردپرس نشون بدیم,هم می تونیم از افزونه YARPP استفاده کنیم,هم با کدنویسی این کار رو انجام بدیم.من تو این مقاله هر دو راه رو می نویسم انتخاب با خودتون.

راه اول با استفاده از افزونه YARPP

استفاده از افزونه (yet another related posts plugin (YARPP  ساده ترین راه برای اینکاره.این افزونه رو نصب و فعال کنید.

1

در صفحه تنظیمات افزونه به قسمت “نمایش تنظیمات برای وبسایت شما”بروید.تیک مربوط به “برگه ” را بزنید (در صورتی که تمایل داشته باشید پست های مرتبط نمایش داده شود می توانید تیک ” پست” را بزنید).

اگر قصد دارید پست های مرتبط را نشان دهید,در قسمت ” مخزن” نیز می توانید مشخص کنید که منابع مرتبط کدام  دسته ها یا برچسب های سایت شما باشد.

توجه داشته باشید که این افزونه و بعضی افزونه های وردپرسی دیگه (به این دلیل که درخواست های زیادی رو برای پایگاه داده می فرستند)توسط بعضی از سرویس های هاست وردپرس مسدود شده.در ضمن اگه پایگاه داده شما با InnoDB  ست شده باشه این افزونه نمی تونه کار کنه.پس در صورت بروز مشکل حتما این دو نکته رو در نظر بگیرید.

راه دوم بدون استفاده از افزونه ها

این نکته رو یاداوری میکنم که همینطور که میدونید,در وردپرس “پست” و”برگه”  با هم متفاوت هستند و برگه ها دارای دسته یا برچسب نیستند.پس اول باید امکان برچسب گذاری و دسته بندی رو با استفاده از افزونه Post Tags and Categories for Pages ایجاد کنیم.این افزونه رو نصب و فعال کنید.این افزونه نیازی به تنظیم نداره و به راحتی امکان دسته بندی و برچسب گذاری رو برای برگه های شما فراهم میکنه.

  ساخت وبسایت در خانه با وردپرس

حالا برگه هاتون رو ویرایش کنید و برگه هایی رو که مایلید به صورت مرتبط نمایش بدید با برچسب مشترک علامت گذاری کنید.مثلا سایت شما سه برگه داره,یکی در مورد تاریخچه شرکت شما ,آدرس شرکت و نوع فعالیت شرکت این سه صفحه رو با برچسبی مشترک مثل کلمه “درباره ما” علامت گذاری کنید.

حالا کد زیر رو به فایل functions.php پوسته سایتتون اضافه کنید.

function wpb_related_pages() {
$orig_post = $post;
global $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(
'post_type' => 'page',
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5
);
$my_query = new WP_Query( $args );
if( $my_query->have_posts() ) {
echo '<div id="relatedpages"><h3>Related Pages</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<li><div class="relatedthumb"><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_post_thumbnail('thumb'); ?></a></div>
<div class="relatedcontent">
<h3><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php the_time('M j, Y') ?>
</div>
</li>
<? }
echo '</ul></div>';
} else {
echo "No Related Pages Found:";
}
}
$post = $orig_post;
wp_reset_query();
}

این کد ابتدا برچسب ها رو در برگه تشخیص میده و یه دستور به پایگاه داده می فرسته که برگه هایی رو که این برچسب ها رو دارند درخواست کنه.خب حالا شما لیستی از برگه های مرتبط دارید برای نمایش این لیست کافیه کد زیر رو در فایل page.php جایی که قصد دارید برگه های مرتبط نمایش داده شوند قرار بدید.

<br />&lt;!--?php wpb_related_pages(); ?--&gt;<br />

ممکنه نمایش نهایی کار زیاد زیبا نباشه (خیلی ساده است).شما میتونید با چند تا کد css  نمایش بهتری رو برای این برگه ها ایجاد کنید.

آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

دیدگاهتان را بنویسید

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. سلام خسته نباشید
    ممنون از مطالب خوبتون

    امکانش هست افزونه YARPP رو برای بعضی برگه ها غیر فعال کرد ؟

  2. 8 سال عضو همیار وردپرس

    درود وخسته نباشید
    میخواستم بدونم چطور میتونم داخل یک صفحه خاص تعدادی صفحه دیگه قرار بدم وکاربر بتونه در انتهای برگه با کلیک روی عدد برگه مثلا (۱٫۲٫۳٫۴……۲۰) یا صفحه بعد، به مطالب بعدی مراجعه کنه.