自定义查询起作用,但返回“未定义的偏移量:0”

时间:2014-07-28 作者:ThisGuyPhill

我的自定义查询工作正常,除非调试时抛出错误:

未定义的偏移量:0 in/wp includes/query。php

以下是我的查询:

<?php $loop = new wp_query(\'post_type=car&category_name=\'.get_the_title());?>

<?php if( $loop->have_posts() ) : ?>
    <table style="width: 100%">
        <col style="width:35%">
        <col style="width:30%">
        <col style="width:20%">
        <col style="width:15%">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Style</th>
                    <th>ABC</th>
                    <th>Rating</th>
                </tr>
            </thead>
            <tbody>
                <?php while( $loop->have_posts() ) : $loop->the_post(); ?>
                <tr>
                    <td><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></td>
                    <td><?php $style = get_post_meta( get_the_ID(), \'style\', true); echo $style; ?></td>
                    <td><?php $abc = get_post_meta( get_the_ID(), \'abc\', true); echo $abc; ?></td>
                    <td><?php $rating = get_post_meta( get_the_ID(), \'rating\', true); echo $rating; ?></td>

                </tr>
                <?php endwhile; else: endif; ?>
                </tbody>
                </table>
我查找了未定义的偏移量:0,但我似乎无法找出此处缺少的内容。怎么了?

2 个回复
最合适的回答,由SO网友:ThisGuyPhill 整理而成

UPDATE这是我的最终代码。它工作得很好。

<?php $pageTitle = get_the_title();
// Query Arguments
 $args = array (
    \'post_type\'              => \'car\',
    \'order\'                  => \'ASC\',
    \'meta_query\'             => array(
               array(
                  \'key\'       => \'brand_category\',
                  \'value\'     => $pageTitle
        ),
    ),
 );

 // The Query
  $query = new WP_Query( $args ); 

// The Loop
 if ( $query->have_posts() ) {
  echo \'<h3>Cars</h3>
    <table style="width: 100%">
       <col style="width:35%">
       <col style="width:30%">
       <col style="width:20%">
       <col style="width:15%">
     <thead>
       <tr>
         <th>Name</th>
         <th>Style</th>
         <th>ABC</th>
         <th>Rating</th>
       </tr>
    </thead>
 <tbody>\';
while ( $query->have_posts() ) {
    $query->the_post();
    echo \'<tr>\';
       echo \'<td>\';
       echo \'<a href="\'.get_permalink().\'">\'.get_the_title().\'</a>\';
       echo \'</td>\';
       echo \'<td>\' . get_post_meta( get_the_ID(), \'style\', true) . \'</td>
       <td>\' . get_post_meta( get_the_ID(), \'abc\', true) . \'</td>
       <td>\' . get_post_meta( get_the_ID(), \'rating\', true). \'</td>                                    
    </tr>\';
   }
echo \'</tbody>
</table>\';
} else { 
   // no posts found
}

// Restore original Post Data
wp_reset_postdata(); 
?>

SO网友:Bindiya Patoliya

尝试以下操作:

$args = array( 
    \'post_type\' => \'car\',
    \'posts_per_page\' => -1,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'your category/taxonomy name for post type car\',
            \'terms\' => \'term name/category name\',
            \'field\' => \'slug\'
        )
    )
);
$query = new WP_Query($args);
$results = $query->get_posts();
print_r($results);
是的,每个帖子都有不同的slug,即使你给了相同的名字。为此,您可以创建一个分类术语,就像您指定的文章名称一样,并将这个术语分配给您在这个类别/术语中的文章。

例如:。

创建名为的分类术语Post Slug 并将其分配给这两个帖子,然后使用各自的参数尝试我的查询。

结束

相关推荐