Php Wordpress模板中的备用帖子类型
我目前在我的页面模板中有这段代码,显示3个“公文包”项目,然后是3个“新闻”项目Php Wordpress模板中的备用帖子类型,php,wordpress,Php,Wordpress,我目前在我的页面模板中有这段代码,显示3个“公文包”项目,然后是3个“新闻”项目 <?php $portfolio_args = array( 'post_type' => 'portfolio', 'posts_per_page' => 3 ); $portfolio = new WP_Query($portfolio_args); while($portfol
<?php
$portfolio_args = array(
'post_type' => 'portfolio',
'posts_per_page' => 3
);
$portfolio = new WP_Query($portfolio_args);
while($portfolio->have_posts()) {
$portfolio->the_post();
$post = new SeedPost(get_the_ID());
$post->display();
}
wp_reset_query();
$news_args = array(
'post_type' => 'post',
'posts_per_page' => 3
);
$news = new WP_Query($news_args);
if($news->have_posts()) {
while($news->have_posts()) {
$news->the_post();
$post = new SeedPost(get_the_ID());
$post->display();
}
}
wp_reset_query();
?>
它显示如下:
Portfolio Portfolio Portfolio
News News News
Portfolio News Portfolio
News Portfolio News
更新>>>>>>>>>
我在这里的另一篇文章中尝试实施一个解决方案:
$portfolio = array(
'post_type' => 'portfolio'
);
$news = array(
'post_type' => 'post'
);
$new = array();
for ($i=0; $i<count($portfolio); $i++) {
$new[] = $portfolio[$i];
$new[] = $news[$i];
}
var_dump($new);
$portfolio=array(
“post_type”=>“公文包”
);
$news=数组(
“职位类型”=>“职位”
);
$new=array();
对于($i=0;$i),您只缺少实际的“获取帖子”。在这种情况下,指示的是,而不是返回一个简单数组,我们必须迭代以提取信息
$portfolio_args = array(
'post_type' => 'portfolio',
'posts_per_page' => 3
);
$portfolio = get_posts($portfolio_args);
$news_args = array(
'post_type' => 'post',
'posts_per_page' => 3
);
$news = get_posts($news_args);
$all = array();
for ($i=0; $i<count($portfolio); $i++) {
$all[] = $portfolio[$i];
$all[] = $news[$i];
}
# Debugging, uncomment to check the variable
// printf('<pre>%s</pre>', print_r($all,true));
for ($i=0; $i<count($all); $i++) {
// to get the post title use $all[$i]->post_title and so on
$post = new SeedPost($all[$i]->ID);
$post->display();
}
好的,在不知道函数是否依赖于全局post对象/查询的情况下,尝试以下操作是值得的:
你能介绍一下$post->display()
函数的实现吗?也许像感谢@Plamen-我真的不知道…?感谢@brasofilo-我会看一看,看看我是否能理解它的关系:)嗨。。。我已经看过那篇文章了,逻辑非常合理,但不幸的是,我不知道如何用我的代码实现它,我的代码中似乎有很多额外的东西-为我的理解不足道歉…你能进一步解释一下吗这段代码在我的页面上吐出大量数据。。。再说一遍,我对PHP不是很在行。我应该在没有printf函数的情况下使用它吗?打印功能是用来测试它还是什么?应该指出,printf
只是为了调试。与var_dump相同,只是更易于阅读。现在你检查一下创建的数组,然后做你自己的事情。我很抱歉-我真的迷路了-我知道这一定让你很沮丧,但我不知道var_dump($new)是什么;行,我正在尝试拼凑一些代码-这不是我所知道的最好的方法。。。是否将打印行替换为var_转储($new);线路?我试过了,页面上写着NULL,我正在尝试输出帖子…检查更新。我从未见过这个SeedPost
函数,但添加了一个应该可以工作的示例(理论上)。非常感谢您的耐心:)工作得非常好-我想在我下一个项目之前,我必须掌握PHP!
Array
(
[0] => WP_Post Object
(
[ID] => 25
[post_author] => 1
[post_date] => 2017-05-11 13:38:57
[post_content] =>
[post_title] => a portfolio item
...
[post_type] => portfolio
...
)
[1] => WP_Post Object
(
[ID] => 17
[post_author] => 1
[post_date] => 2017-05-07 12:32:52
[post_content] =>
[post_title] => a post
...
[post_type] => post
...
)
[2] => WP_Post Object
(
[ID] => 24
[post_author] => 1
[post_date] => 2017-05-11 13:38:40
[post_content] =>
[post_title] =>
...
[post_type] => portfolio
)
[3] => WP_Post Object
(
[ID] => 15
...
[post_type] => post
...
)
[4] => WP_Post Object
(
[ID] => 23
...
[post_type] => portfolio
...
)
[5] => WP_Post Object
(
[ID] => 13
...
[post_type] => post
...
)
)