Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress模板中的备用帖子类型_Php_Wordpress - Fatal编程技术网

Php Wordpress模板中的备用帖子类型

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

我目前在我的页面模板中有这段代码,显示3个“公文包”项目,然后是3个“新闻”项目

<?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
            ...
        )

)