Noob在这里!我想在wordpress主页上运行一个简单的后循环。如果在我的functions.php文件中编写循环,然后加载主页,则查询结果将显示在主页顶部。
现在,我想在特定的div中查看循环的结果。这样做的原因是,我想先对大多数网站内容使用pagebuilder,然后再查看循环。
TLDR;如何使由php函数创建的内容显示/加载到特定的div容器中?甚至有可能吗?
我尝试创建div并将函数的简码放入其中,但wordpress甚至不允许我保存更改。
在functions.php中:
function show(){
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'orderby' => 'post_date',
'order' => 'desc',
'posts_per_page' => '30',
'post_status' => 'inherit'
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$image = wp_get_attachment_image_src( get_the_ID() );
echo'<div><div class="numbertext">1</div>';
echo $images = wp_get_attachment_image( $query_images->posts->ID, 'full' );
echo'<div class="title">';
the_title();
echo'</div></div>';
endwhile;
};
add_shortcode( 'imgshow', 'show' );
然后在Pagebuilder中:
<div id="imgcontainer">[imgshow]<div>
因此,对于查询找到的每个img,我希望循环创建一些div框,其中包含图像及其标题。
答案 0 :(得分:0)
您走在正确的轨道上,但是您的短码语法有些偏离。使用短代码要记住的一件事是,您始终必须返回内容,而不是回显它。我还没有测试过,但是应该可以。
const FlagsDialog = (props) => {
const {
classes,
handleClose,
showFlagsDialog,
} = props;
const selectLang = (id) => {
console.log(id);
//OR e.target.getAttribute("id")
};
return (
<Dialog
open={showFlagsDialog}
onClose={handleClose}
aria-labelledby="alert-dialog-title"
aria-describedby="alert-dialog-description"
>
<Button onClick={() => this.selectLang(id)} id="en">English</Button>
<Button onClick={selectLang} id="en">English</Button>
</Dialog>
);
};