2013-12-09 80 views
1
大家

您好我有在WordPress獲得url文件

我的媒體文件夾裏的幾個圖像時保存的新圖像的WordPress保存像年/月/ name.png

/wp-content/uploads/2011/01/matt.png 

有可能通過名稱找到圖像並返回這樣的URL文件?

wp-content/uploads/2011/01/ 

我用這

<?php $upload_dir = wp_upload_dir(); ?> 
      <img src="<?php echo $upload_dir['baseurl']; ?>/<?php echo $precontent; ?>.png " class="attachment-post-thumbnail"> 

其中$precontent是圖像的名稱和$upload_dir['baseurl'];

回報/可溼性粉劑內容/上傳操作,但我需要這個圖像 這樣的年份和月份我有/wp-content/uploads/matt.png

有什麼想法嗎?

回答

6

如果您試圖獲取附件的完整路徑,請認爲附件只需發佈post_type ='attachment'。這意味着您可以通過名稱查詢它們。另外,請注意帖子有獨特的slu slu。所以matt.png將有塞matt :)

function get_attachment_url_by_slug($slug) { 
    $args = array(
    'post_type' => 'attachment', 
    'name' => sanitize_title($slug), 
    'posts_per_page' => 1, 
    'post_status' => 'inherit', 
); 
    $_header = get_posts($args); 
    $header = $_header ? array_pop($_header) : null; 
    return $header ? wp_get_attachment_url($header->ID) : ''; 
} 

然後你就必須做到以下幾點:

$header_url = get_attachment_url_by_slug('matt');

將返回文件的完整路徑。

請注意,sanitize_title();會自動轉換你的名字爲一個slu。。所以如果你上傳了一個名字的文件。 Christmas is coming.png,wordpress會指定它爲slug,如christmas-is-coming。如果你使用sanitize_title('Christmas is coming');,結果也會是christmas-is-coming,之後你可以得到完整的網址。 :)

0

您可以創建一個數據庫查詢看wp_posts表,篩選行與post_type =「附件」,可選post_mime_type像「圖像/%」和一個GUID,如「%/ $ precontent」

您將有照顧有以下情況:

/wp-content/uploads/2011/01/matt.png 
/wp-content/uploads/2011/02/matt.png 

圖像的完整URL可以在GUID列中找到。你可以解析出來並得到你需要的東西。