2014-10-07 75 views
1

我最近一直在使用Wordpress中的高級自定義字段進行相當多的工作,並且在使用郵件時發現它們非常有用,但在使用頁面時似乎無法獲得相同的結果。頁面模板中的高級自定義字段

我目前有一個頁面,使用循環來拉動類別爲'news'的所有帖子。循環爲每篇新聞文章創建一個結構,並將它們列出到頁面的左邊的分頁頁面中。在頁面的右側,我有一個部分需要顯示附加的ACF發佈對象(在這種情況下,單個自定義發佈類型的「Staff」,在Pages編輯部分中分配)。

所以在左邊有帖子的循環,右邊我需要一個Post對象來顯示。唯一的問題是,所有獲得這個職位的對象數據的常用技術似乎並不奏效:

<?php 
     $post_object = get_field('attached_story'); 

     print_r($post_object); 
    ?> 

這將返回什麼。我把它放在循環內部/循環之外是無濟於事的(我想這就是爲什麼它不工作,因爲它需要在循環中)。顯示帖子循環如下所示:

<?php 
     $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
     $args = array('post_type' => 'news', 'showposts' => '4', 'paged' => $paged); 
     $the_query = new WP_Query($args); 
     ... 
     if(have_posts()) : while($the_query->have_posts()) : $the_query->the_post() 
    ?> 

我的問題是 - 是否有使用中的頁面模板對象後一種特殊的方法?是否有一個不同的循環需要實例化,以循環訪問頁面自定義字段而不是帖子?最後是否有一種方法可以查看當前頁面數組的全部內容以及所有自定義字段?

回答

0

爲防萬一將來有人遇到這個問題,解決方法是使用query_posts()方法來設置循環而不是'新的WP_Query'類調用。我的循環調用現在看起來是這樣的:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
query_posts(array('post_type' => 'news','showposts' => '4', 'paged' => $paged)); 

這是通過附加的故事拉現在使用下面的代碼:

<?php 
$post_object = get_field('attached_story'); 
if($post_object):   
$post = $post_object; 
setup_postdata($post); ?> 

    <?php $short_desc = get_field('short_description'); ?> 
    All over operations... 

<?php wp_reset_postdata();?> 
<?php endif; ?> 
0

您可以使用下面的代碼的循環中:

<?php $values = get_post_custom_values("your custom field name"); 
if($values){?> 
<?php echo $values[0]; ?> 
<?php } ?> 
相關問題