می دونیم که با استفاده از
<!--more-->
حالا می خواهیم با استفاده از یک تابع وردپرس کوئری هایی را نمایش جداگانه ی دو بخش ایجاد کنیم
با قرار دادن تابع
the_content('more');
در داخل حلقه ی مطالب بخش اول از این دو بخش در صفحات بایگانی و اول سایت نمایش داده می شه و در پیوند یکتای مطلب و کوئری های شخصی نیز کل مطلب (هر دو بخش) فراخوانی می شند
با استفاده از تابع
get_extended();
می تونیم در کوئری های شخصی نیز بخش اول مطالب را نمایش بدیم و یا در محل های دلخواه فقط بخش دوم را به نمایش بگذاریم
نحوه ی استفاده از تابع
این تابع یک متغیر اصلی داره که مطلب مورد نظر رو بهش معرفی می کنه
و دو مقدار صحیح برگشتی هم داره که مقدار اول (قبل از ادامه مطلب) با main و بخش دوم (بعد از ادامه مطلب) با extended فراخوانی می شند یعنی اگر متغییر را به اینصورت مقدار دهیم
$content_arr = get_extended (get_the_content() );
دو پاسخ
$content_arr['main'] $content_arr['extended']
را بر می گردونه و در یک کوئری ساده می شه به این شکل ازش استفاده کرد
<ul> <?php global $post; $args = array( 'numberposts' => 5 ); $myposts = get_posts( $args ); foreach( $myposts as $post ) : setup_postdata( $post ); $content_arr = get_extended (get_the_content() ); ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <br /> <?php echo $content_arr['main']; //Display the part before the more tag ?> </li> <?php endforeach; ?> </ul>
و یا برای نمایش فقط بخش ادامه ی مطلب در پیوند یکتا (سئوال چندتا از کاربران در ماه گذشته انجمن) می شه این کد را
<?php $content_arr = get_extended (get_the_content() ); echo $content_arr['extended'] ?>
را جایگزین
<?php the_content( __( 'Continue reading →', 'TextDomain' ) ); ?>
کرد