2013-12-09 2 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'. Это означает, что вы можете запросить их по имени. Также обратите внимание, что сообщения имеют уникальные слизни. Так 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(); будет автоматически преобразовывать ваше имя в пулю. Поэтому, если вы загрузили файл с именем. Christmas is coming.png, wordpress обозначил бы это как slug как christmas-is-coming. И если вы используете sanitize_title('Christmas is coming');, результат будет также christmas-is-coming, после чего вы сможете получить полный URL-адрес. :)

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. Вы можете разобрать его и получить то, что вам нужно.

Смежные вопросы