2013-05-14 45 views
3

我與一個WordPress主題工作而苦苦掙扎如下:get_posts()始終爲空post_type附件

正如標題所暗示的,()的返回get_posts數組是儘管帖子絕對控股的圖像經常是空的。

我使用下面的檢索附件陣:

$attachments = get_posts(array(
    'post_type' => 'attachment', 
    'posts_per_page' => -1, 
    'post_parent' => $post_id 
)); 

現在,$ POST_ID工作完全正常...如果我贊同它的權利之前,上面的代碼就說明沒有失敗。我無法弄清楚錯誤在哪裏。

爲了完整起見,繼承人的整個循環,這在各方面工作完全正常,除了附件檢索:

  <?php if (have_posts()) : ?> 
      <?php while (have_posts()) : ?> 
       <?php the_post(); ?> 
       <div class="post" id="post-<?php the_ID(); ?>"> 
        <div class="post-border"> 
         <div class="post-date"><?php edit_post_link('Edit Post', '', ''); ?></div> 
         <?php if($pagename == 'news'): ?> 
          <div class="post-date">Posted: <?php the_time('F j, Y') ?></div> 
         <?php endif; ?> 
         <h5 class="posttitle"><?php the_title(); ?></h5> 
         <div class="post-entry"> 
          <?php the_content(); ?> 
          <?php 
           $post_id = $post -> ID; 
           echo $post_id; 
           $attachments = get_posts(array(
            'post_type' => 'attachment', 
            'posts_per_page' => 20, 
            'post_parent' => $post_id 
           )); 
           print_r($attachments); 
          ?> 
         <?php echo "<div class='clearboth'></div>"; ?> 
         </div> <!-- end of .entry --> 
        </div> <!-- end of .post-border --> 
       </div> <!-- end of .post --> 
      <?php endwhile; ?> 
     <?php endif; ?> 

如果任何人有任何建議,我會非常感謝!

最佳, Ĵ

+0

我正在努力解決同樣的問題,我進一步得到了Wordpress,我更確定我將永遠不會在另一個Wordpress項目上工作。文檔和社區是可怕的。 – Jeger 2013-08-21 13:26:25

回答

3

附件繼承post_status從父職,所以添加以下到ARGS:

'post_status' => 'inherit', 
+0

我可以問你看看這裏的wordpress自定義字段相關的問題:http://stackoverflow.com/questions/43782429/wordpress-make-custom-field-values-clickable-to-retrive-them-later? – 2017-05-04 18:52:01

0

確保圖像連接到這個職位,不只是插入後身。

「如果媒體文件在編輯屏幕上被上傳,它將自動附加到當前正在編輯的文章上,如果通過媒體添加新的子面板或媒體庫>子面板,它將不附加,但是當它被插入到帖子後可能會附加到帖子中。在媒體庫子面板上也有一個選項可以附加未附加的媒體>項目。「

0

另一個需要注意的問題是:如果您使用的是使用WP功能的命令行腳本,請確保有一個有效的登錄用戶(例如admin)。否則get_posts()將不會返回任何通常不公開的帖子(例如附件到草稿或預定帖子)。這很容易實現wp_set_current_user(1,'admin');

1

我發現在Wordpress 4.1中,當您從先前上傳到媒體庫的圖像插入圖像時,它不被視爲附件。因此,爲了爲帖子創建圖像附件,圖像應首先作爲文件上載到媒體庫(「添加媒體」上傳文件),然後才能選擇並插入到帖子中。