web-dev-qa-db-ja.com

最初の添付メディアのパスを取得する(single.php)

現在WordPressを使用して壁紙のWebサイトを開発しています。投稿内の最初の添付メディアのパスを取得して投稿内にパスを表示する方法を見つけようとしています(例:/wp-content/uploads/image.png)。私はget_attached_media()のような多くのWordPress機能を試しましたが、私は運がありませんでした。

1
r00t

それで私はついにポストの最初の添付メディアのパスを表示する方法を見つけました。これは、コンテンツの最後にパスを表示するためにsingle.phpに挿入したコードです。

<?php
$image_url = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
$path = parse_url($image_url[0], PHP_URL_PATH);

echo /var/www/wordpress/wp-content/uploads$path;
?>

結果(例):/var/www/wordpress/wp-content/uploads/2015/12/image.jpg

それが他の誰かに役立つことを願っています!

1
r00t

私はWordPressコーデックの助けを借りていくつかのスニペットを書いてみました。以下を確認して、必要に応じてさらにアップデートしてください。私はこれが役立つことを願っています:

global $post;

$args = array(
    'numberposts' => 1,
    'order' => 'ASC',
    'post_mime_type' => 'image',
    'post_parent' => $post->ID,
    'post_status' => null,
    'post_type' => 'attachment',
);

$attachments = get_children( $args );

if ( $attachments ) {
   foreach ( $attachments as $attachment ) {
      $image_attributes = wp_get_attachment_image_src( $attachment->ID, 'full' );
      echo wp_get_attachment_url($attachment->ID);
      echo '<img src="' . wp_get_attachment_thumb_url( $attachment->ID ) . '" class="current">';
}
}
1
Prasad Nevase