استفاده از فیلد Post Object یا آبجکت نوشته افزونه advanced custom fields

استفاده از فیلد Post Object یا آبجکت نوشته افزونه advanced custom fields

سورس کد نمایش آبجکت نوشته در افزونه زمینه ساز ACF وردپرس

فیلد Post Object افزونه advanced custom fields که به فارسی همان “آبجکت نوشته” معنی شده برای قرار دادن ارتباط نوشته با نوشته ای دیگر یا دریافت اطلاعات آن نوشته می باشد.

تنظیمات

  • لازم است : برای اجباری کردن فیلد بر روی بله تنظیم شود.
  • فیلتر با نوع نوشته : محدود کردن دسترسی برای انتخاب نوشته ها.
  • فیلتر با طبقه بندی : محدود کردن دسترسی برای انتخاب نوشته ها بر اساس دسته بندی و برچسب ها.
  • مقدار بازگشتی : به دو صورت آبجکت , شناسه قابل انتخاب و مدیریت است.
  • منطق شرطی : برای ایجاد وابستگی به مقادیر فیلد های دیگر و شرط نمایش یا مخفی سازی فیلد مربوطه برای مدیریت بهتر بر روی فرم .

نمایش اطلاعات

نمایش ساده اطلاعات یک نوشته

این حالت برای زمانی است که حالت چند انتخاب محدود شده و تنها یک خروجی دارید.

<?php
$post_object = get_field('post_object');
if( $post_object ): 
	// override $post
	$post = $post_object;
	setup_postdata( $post ); 
	?>
    <div>
    	<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
    	<span>Post Object Custom Field: <?php the_field('field_name'); ?></span>
    </div>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>

نمایش چند مقداری

این حالت برای زمانی است که حالت چند انتخاب فعال شده و چند خروجی دارید.

<?php
$post_objects = get_field('post_objects');
if( $post_objects ): ?>
    <ul>
    <?php foreach( $post_objects as $post): // variable must be called $post (IMPORTANT) ?>
        <?php setup_postdata($post); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <span>Post Object Custom Field: <?php the_field('field_name'); ?></span>
        </li>
    <?php endforeach; ?>
    </ul>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif;
$post_objects = get_field('post_objects');
if( $post_objects ): ?>
    <ul>
    <?php foreach( $post_objects as $post_object): ?>
        <li>
            <a href="<?php echo get_permalink($post_object->ID); ?>"><?php echo get_the_title($post_object->ID); ?></a>
            <span>Post Object Custom Field: <?php the_field('field_name', $post_object->ID); ?></span>
        </li>
    <?php endforeach; ?>
    </ul>
<?php endif;

?>

دیباگ کردن

در صورتی که با خروجی مشکل داشتید از کد زیر برای نمایش خروجی پیشفرض استفاده کنید

<?php
echo '<pre>';
    print_r( get_field('post_objects')  );
echo '</pre>';
die;
?>

مطالب بیشتر

نظرات

guest
0 نظرات
بازخورد (Feedback) های اینلاین
View all comments