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

31 اردیبهشت 1399

نویسنده : قلب وردپرس | دسته بندی: آموزشی | ۰ نظر | ۳۱۱ بازدید

چکیــــــده ...

با سلام , من مرتضی دریوژه هستم با یکی دیگه از آموزش ها دانشگاه قلب وردپرس با موضع نمایش مطالب مرتبط بین نوشته های وردپرس در خدمت شما هستم. همانطور که میدانید در هیچ یک از سایت ها این روش را معرفی نکرده اند و فقط به معرفی کی افزونه بسنده کرده اند. ما در […]

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

با سلام , من مرتضی دریوژه هستم با یکی دیگه از آموزش ها دانشگاه قلب وردپرس با موضع نمایش مطالب مرتبط بین نوشته های وردپرس

در خدمت شما هستم.

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

ما در قلب وردپرس قصد داریم تا بدون افزونه و فقط با کد امکانات مورد نیازمان را به سایت اضافه کنیم.

این مورد میتواند از نظر امنیت سایت شما نیز مفید باشد.

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

در سطح اینترنت که به رایگان و یا حتی پولی موجود میباشند در سطح نت فارسی بصورت نال شده هستند

و نمیتوان به آنها اعتماد کرد.

بنابر این با کمی خلاقیت ما با چند خط کد , مطالب مرتبط هر نوشته ها بصورت رندوم بین نوشته هایمان

به نمایش در می آوریم.

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

خب صحبت ها رو خلاصه میکنیم و میریم سراغ آموزش :

در مرحله اول به شما توضیح میدیم که معنی inline related post اصلا چی هست تا با آن آشنا شوید.

به تصویر زیر نگاه کنید :

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

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

این تصویر مربوط به یک افزونه به نام nline related post pro میباشد.

حال ما در این پست آموزشی قصد داریم تا این امکان را بدون هیچ افزونه ای به سایت اضافه کنیم.

پس میریم سراغ آموزشمون و کدهای مورد نیازمون رو مینویسیم :

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

پس مینویسیم :
<?php
$the_query = new WP_Query( array(
	'post_type'      => 'post',
	'orderby'        => 'rand',
	'posts_per_page' => 1,
) ); ?>
<?php
if ( $the_query->have_posts() ) : ?>
<div id="wpheartrandomposts">
<h3>این مقاله را بخوان!</h3>
<ul>
<?php
while ( $the_query->have_posts() ) : $the_query->the_post();
?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
</ul>
</div>
<?php endif; ?>

در این کد که در محله اول آموزشمان نوشتیم اقدام به دریافت یک کوئری برای نمایش مطالب مرتبط با تعداد ۱

پست را دریافت کردیم.

خب , ما در ادامه نیاز داریم تا یک تابع را برای نمایش مطالب مرتبط درون خطی در بین مطالب وردپرس بسازیم.

و کدهایی که در مرحله اول نوشتیم را درون آن تابع قرار دهیم.

پس مینویسیم :

 

<?php
function wpheartrandompost(){
    $the_query = new WP_Query( array(
	'post_type'      => 'post',
	'orderby'        => 'rand',
	'posts_per_page' => 1,
) ); 
?>
<?php
if ( $the_query->have_posts() ):?>
<div id="wpheartrandomposts">
<h3>این مقاله را بخوان!</h3>
<ul>
<?php
while ( $the_query->have_posts() ) : $the_query->the_post();  ?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
</ul>
</div>
<?php endif;
}
?>

خب تابع مورد نیز ساختیم و حالا نام تابعی که ساختیم را به خاطر بسپارید.

ما در این آموزش نام تابع را wpheartrandompost انتخاب کردیم.

در مرحله سوم میریم سراغ اصل موضوع آموزش و نوشتن کدهای مربوط به دریافت پاراگراف های محتوای نوشته و قرار دادن

مطالب مرتبط که در مرحله دوم ساختیم.

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

 

<?php
function wpheart_inline_posts( $ads, $content ) {
    if ( ! is_array( $ads ) ) {
        return $content;
    }
    $closing_p = '</p>';
    $paragraphs = explode( $closing_p, $content );
    foreach ($paragraphs as $index => $paragraph) {
        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        }
        $n = $index;
        if ( isset( $ads[ $n ] ) ) {
            $paragraphs[$index] .= $ads[ $n ];
        }
    }
    return implode( '', $paragraphs );
}
add_filter( 'the_content', 'wpheart_insert_inline_posts' );
function wpheart_insert_inline_posts( $content ) {
    if ( is_single() && ! is_admin() ) {
        $content = wpheart_inline_posts( array(
            '۴' => wpheartrandompost(),
            '۱۲' => wpheartrandompost(),
            '۲۰' => wpheartrandompost(),
            '۲۹' => wpheartrandompost(),
        ), $content );
    }
    return $content;
}
?>

در رابطه با کد نهاییمون بخواهیم توضیح بدیم به شکل زیر میشه نوشت که :

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

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

داخل کد فوق ما پاراگراف های شماره ۴ و ۱۲ و ۲۰ و ۲۹ نوشته را دریافت کردیم و تابعی که در مرحله دوم کد ها ساختیم

داخل این آرایه برای پاراگراف ها قرار دادیم.

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

به آن ها استایل مورد نظر را اضافه کنید.

 

این آموزش هم به پایان رسید .

برای شما آرزوی موفقیت دارم.

برای مشاهده دوره حرفه ای طراحی قالب وردپرس اقدام کنید!

برای مشاهده ویدیو های آموزشی بیشتر کانال آپارات ما را دنال کنید.

 

قلب وردپرس

قلب وردپرس نویسنده مقاله

مرتضی دریوژه هستم عضو کوچکی از خانواده بزرگ وردپرس که علاقه بسیار زیادی به وردپرس و نشر دانسته و یادگیری بیشتر وردپرس دارم.
هدف از راه اندازی سایت قلب وردپرس ارائه آموزش های تخصصی در زمینه وردپرس به دوستان علاقه مند هست که امیدوارم در این مسیر با سایر اعضای تیم قلب وردپرس موفق باشیم و نیاز شما کارب

0 0 رای
امتیاز شما به این آموزش
عضویت
اطلاع از

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

0 Comments
Inline Feedbacks
View all comments