استفاده از فیلد Relationship یا ارتباط افزونه advanced custom fields

استفاده از فیلد Relationship یا ارتباط افزونه advanced custom fields

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

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

تنظیمات

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

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

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

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

<?php 
$posts = get_field('relationship_field_name');
if( $posts ): ?>
    <ul>
    <?php foreach( $posts as $post): // variable must be called $post (IMPORTANT) ?>
        <?php setup_postdata($post); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <span>Custom field from $post: <?php the_field('author'); ?></span>
        </li>
    <?php endforeach; ?>
    </ul>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>

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

<?php 
$posts = get_field('relationship_field_name');
if( $posts ): ?>
	<ul>
	<?php foreach( $posts as $p ): // variable must NOT be called $post (IMPORTANT) ?>
	    <li>
	    	<a href="<?php echo get_permalink( $p->ID ); ?>"><?php echo get_the_title( $p->ID ); ?></a>
	    	<span>Custom field from $post: <?php the_field('author', $p->ID); ?></span>
	    </li>
	<?php endforeach; ?>
	</ul>
<?php endif; ?>

کوئری دریافت نوشته ها

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

<?php 
// get only first 3 results
$ids = get_field('conference_talks', false, false);
$query = new WP_Query(array(
	'post_type'      	=> 'conferences',
	'posts_per_page'	=> 3,
	'post__in'			=> $ids,
	'post_status'		=> 'any',
	'orderby'        	=> 'post__in',
));
?>

مطالب بیشتر

نظرات

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