Php 从Wordpress媒体库获取单个特定图像
我已经将图片上传到Wordpress媒体库 我知道我可以查看am图像,然后获取该特定图像的URL,然后使用Php 从Wordpress媒体库获取单个特定图像,php,html,wordpress,image,Php,Html,Wordpress,Image,我已经将图片上传到Wordpress媒体库 我知道我可以查看am图像,然后获取该特定图像的URL,然后使用imghtml标记将其显示在页面上 但是,这不会获得图像的alt,标题,标题和说明 img未附加到帖子或页面字段,因此我假设您无法使用获取附件功能等 我之所以希望使用函数而不是编写静态imghtml代码,是为了更好地缓存它们,更易于维护,并且图像的所有数据都已在媒体库中更新,而不必编辑最终用户不熟悉的html代码 提前谢谢。我想你有附件ID吧?您是否尝试过使用附加函数 来自法典: 请注意,媒
img
html标记将其显示在页面上
但是,这不会获得图像的alt
,标题
,标题
和说明
img
未附加到帖子或页面字段,因此我假设您无法使用获取附件功能等
我之所以希望使用函数而不是编写静态img
html代码,是为了更好地缓存它们,更易于维护,并且图像的所有数据都已在媒体库中更新,而不必编辑最终用户不熟悉的html代码
提前谢谢。我想你有附件ID吧?您是否尝试过使用附加函数 来自法典: 请注意,媒体项本身也是“帖子”,可以 通过WordPress模板层次结构显示。主题可以 利用此功能循环媒体项或创建库 以下功能应该让您开始使用: 您可以使用以下方法检索图像src: 您可以使用以下方法获取图像标题: 您可以使用以下方法获取alt标记: 首先获取图像
function get_images_from_media_library() {
$args = array(
'post_type' => 'attachment',
'post_mime_type' =>'image',
'post_status' => 'inherit',
'posts_per_page' => 5,
'orderby' => 'rand'
);
$query_images = new WP_Query( $args );
$images = array();
foreach ( $query_images->posts as $image) {
$images[]= $image->guid;
}
return $images;
}
并显示图像
function display_images_from_media_library() {
$imgs = get_images_from_media_library();
$html = '<div id="media-gallery">';
foreach($imgs as $img) {
$html .= '<img src="' . $img . '" alt="" />';
}
$html .= '</div>';
return $html;
}
函数显示来自媒体库()的图像{
$imgs=从媒体库()获取图像;
$html='';
foreach($imgs作为$img){
$html.='';
}
$html.='';
返回$html;
}
并使用php fire事件
<?php echo display_images_from_media_library(); ?>
或者使用这个功能
<?php
if ( $attachments = get_children( array(
'post_type' => 'attachment',
'post_mime_type'=>'image',
'numberposts' => 1,
'post_status' => null,
'post_parent' => $post->ID
)));
foreach ($attachments as $attachment) {
echo wp_get_attachment_link( $attachment->ID, '' , true, false, 'Link to image attachment' );
}
?>
请尝试输入以下代码:
<?php
$attachmentID = 1875;
$imageSizeName = "thumbnail";
$img = wp_get_attachment_image_src($attachmentID, $imageSizeName);
//print_r($img);
?>
<img src="<?php echo $img[0]; ?>" alt="image">
“alt=”image“>
这么多复杂且我认为是错误的答案,而答案非常直截了当:
<?php
$url_to_my_attachment = "http://example.com/wp-content/uploads/image.png";
$attachment_id = attachment_url_to_postid($url_to_my_attachment);
print wp_get_attachment_image($attachment_id);
但是您从哪里获得附件的实际id?当您在媒体库中查看图像时,可以在浏览器栏的URL中看到附件id。
<?php
if ( $attachments = get_children( array(
'post_type' => 'attachment',
'post_mime_type'=>'image',
'numberposts' => 1,
'post_status' => null,
'post_parent' => $post->ID
)));
foreach ($attachments as $attachment) {
echo wp_get_attachment_link( $attachment->ID, '' , true, false, 'Link to image attachment' );
}
?>
<?php
$attachmentID = 1875;
$imageSizeName = "thumbnail";
$img = wp_get_attachment_image_src($attachmentID, $imageSizeName);
//print_r($img);
?>
<img src="<?php echo $img[0]; ?>" alt="image">
<?php
$url_to_my_attachment = "http://example.com/wp-content/uploads/image.png";
$attachment_id = attachment_url_to_postid($url_to_my_attachment);
print wp_get_attachment_image($attachment_id);