نمایش زمینه های دلخواه پیشرفته در قالب – افزونه ACF
در این مقاله با نمونه کدها و مثال های کاربردی برای نمایش زمینه های دلخواه پیشرفته در قالب سایت خود آشنا خواهید شد. در پست های قبلی ما افزونه زمینه های سفارشی رو به طور کامل معرفی کرده ایم و پیشنهاد می کنیم قبل از خواندن این مقاله حتما مقاله معرفی افزونه ACF را مطالعه کنید.
اگر بخواهیم به صورت خلاصه یک توضیح راجب افزونه Advanced Custom Field بدهیم، از طریق این افزونه بدون نیاز به کدنویسی قادر به ایجاد بی نهایت متاباکس مختلف و افزودن ویژگی های جدید به وردپرس خواهیم بود. به کمک افزونه ACF متاباکس ها از ظاهر به مراتب بهتری برخودارند و سرعت سفارشی سازی متاباکس و مقادیر وارد شده چندین برابر می شود.
افزونه Advanced Custom Fields یا زمینه های دلخواه پیشرفته در نسخه های تجاری و رایگان منتشر شده که نسخه تجاری نسبت به نسخه رایگان از قابلیت های بیشتری برخوردار بوده، اما خوشبختانه نسخه رایگان افزونه ACF نیز تمام نیاز ما را براورده می کند. در این مقاله سعی ما در ارائه یک آموزش در خصوص نمایش زمینه های دلخواه پیشرفته در قالب بوده است.
نمایش زمینه های دلخواه پیشرفته در قالب
↑<p><?php the_field('field_name'); ?></p>
ذخیره مقدار زمینه در متغیر
↑<?php $variable = get_field('field_name'); ?>
نمایش زمینه با دستورات شرطی
↑نکته : if (value == "" || value == null || value == false)
مقدار false
را برگشت می دهد.
<?php
if(get_field('field_name'))
{
echo '<p>' . get_field('field_name') . '</p>';
}
?>
نمایش آرایه یا ایجاد حلقه
↑برای مثال نمایش مقادیر زمینه های checkbox – select – relationship – repeater
<?php
$values = get_field('field_name');
if($values){
echo '<ul>';
foreach($values as $value){
echo '<li>' . $value . '</li>';
}
echo '</ul>';
}
?>
نمایش تصاویر زمینه
↑از طریق لینک – URL
<img src="<?php the_field('image_test'); ?>" alt="" />
از طریق ایدی – ID
نکته : از این طریق ما شما می توانید به اندازه های مختلف برش داده شده و حتی نام تصویر نیز دسترسی داشته باشید.
<?php
$image = wp_get_attachment_image_src(get_field('image_test'), 'full');
echo '<img src="'.$image[0].'" alt="'.get_the_title(get_field('image_test')).'" />';
?>
زمینه تکرار شونده – Repeater Field
↑دسترسی از طریق get_field یا the_sub_field یا the_repeater_field امکان پذیر است
<?php if( have_rows('repeater_field_name') ): ?>
<ul>
<?php while( have_rows('repeater_field_name') ): the_row(); ?>
<li>
sub_field_1 = <?php the_sub_field('sub_field_1'); ?>,
sub_field_2 = <?php the_sub_field('sub_field_2'); ?>,
</li>
<?php $sub_field_3 = get_sub_field('sub_field_3'); ?>
<?php endwhile; ?>
</ul>
<?php endif; ?>
یا یکی از سطر های زمینه تکرار شونده به صورت تصادفی
<?php
$rows = get_field('repeater_field_name');
$row_count = count($rows);
$i = rand(0, $row_count - 1);
echo $rows[ $i ]['sub_field_name'];
?>
نمایش زمینه یک پست یا برگه دیگر
↑<?php $other_page = 12; ?>
<p><?php the_field('field_name', $other_page); ?></p>
<?php
$variable = get_field('field_name', $other_page);
if( have_rows('repeater_field_name', $other_page) ): ?>
<ul>
<?php while( have_rows('repeater_field_name', $other_page) ): the_row(); ?>
<li>
sub_field_1 = <?php the_sub_field('sub_field_1'); ?>,
sub_field_2 = <?php the_sub_field('sub_field_2'); ?>
</li>
<?php $sub_field_3 = get_sub_field('sub_field_3'); ?>
<?php endwhile; ?>
</ul>
<?php endif; ?>
نمایش پست ها « حلقه » بر اساس مقادیر زمینه های ACF
↑<?php
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'event',
'meta_key' => 'location',
'meta_value' => 'melbourne'
));
if($posts)
{
echo '<ul>';
foreach($posts as $post)
{
echo '<li><a href="' . get_permalink($post->ID) . '">' . get_the_title($post->ID) . '</a></li>';
}
echo '</ul>';
}
?>
همچنین ما در پست های زیر نحوه نمایش زمینه های دلخواه پیشرفته در قالب و نحوه استفاده از هر زمینه به طور اختصاصی توضیح داده ایم. در صورت نیاز میتوانید بر روی هر کدام از موارد کلیک کنید و برای دسترسی یکجا به همه زمینه ها روی این لینک کلیک کنید.