我正在尝试编写一个自定义页面类型,在Wordpress中为页面提供随机背景。 (即主页上的漂亮大图)。我有它的工作!但是我回复了一个大图片,任何想法如何快速添加使它显示完整的图像大小URL?
非常感谢!
(我已经把完整的代码插入了,所以任何人都可以在他们自己的网站上使用它,如果它有帮助吗?)
<?php
/**
* Template Name: Fullscreen Random
*/
get_header();
?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<style media="screen" type="text/css">
body {
background: url(<?php
$args = array( 'post_type' => 'attachment', 'numberposts' => 1, 'orderby' => 'rand', 'post_status' => null, 'post_parent' => 5 );
$attachments = get_posts( $args );
if ($attachments) {
foreach ( $attachments as $attachment ) {
echo $attachment->guid;
}
}
?>) no-repeat center center fixed;
webkit-background-size: cover;
moz-background-size: cover;
o-background-size: cover;
background-size: cover;
}
#menu {background:rgba(0, 0, 0, 0.2)!important;}
* {color:white!important;}
</style>
<?php endwhile; ?>
<? get_footer(); ?>
答案 0 :(得分:1)
使用wp_attachment_is_image确保您只获取图片,wp_get_attachment_image_src以附件ID和“完整”作为参数,您可以从第一个获取全尺寸附件图片的网址返回数组的元素(尚未对此进行测试,但似乎可行)。
答案 1 :(得分:0)
对于那些对@“Edgar Allan Pwn”建议合并的最终剧本感兴趣的人,如下:
<?php
/**
* Template Name: Fullscreen Random
*/
get_header();
?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<style media="screen" type="text/css">
body {
background: url(<?php
$args = array(
'orderby' => 'rand',
'post_type' => 'attachment',
'post_parent' => $post->ID,
'post_mime_type' => 'image',
'post_status' => null,
'numberposts' => 1,
);
$attachments = get_posts($args);
if ($attachments) {
foreach ($attachments as $attachment) { ?>
<?php $full = wp_get_attachment_image_src( $attachment->ID, 'full', false, false );
echo $full[0];
}
}
?>) no-repeat center center fixed;
webkit-background-size: cover;
moz-background-size: cover;
o-background-size: cover;
background-size: cover;
}
#menu {background:rgba(0, 0, 0, 0.2)!important;}
* {color:white!important;}
</style>
<?php endwhile; ?>
<? get_footer(); ?>