采用的自定义字段关系查询加上内部查询

时间:2013-11-08 作者:user41522

我目前正在开发一个网站,我有三种自定义帖子类型(发言人、事件、视频)。每个活动都与演讲者有关系,因此在创建活动时,他们会选择演讲者在该活动中发言的内容。我的活动页面工作正常,我可以给演讲者打电话。我的视频自定义帖子类型中存在的问题创建视频时,用户有两个关系,他们可以选择录制的事件和用于哪个扬声器。所以在我的活动页面上,每个发言人下面。我想得到他们为那次活动拍摄的视频。我尝试过使用元查询,但我无法让它工作。我已经在ACF论坛上发帖,没有回复。如果有任何帮助,我都会非常感激。我已经想尽一切办法了。

http://support.advancedcustomfields.com/forums/topic/nesting-relationship-querys/

以上是高级定制现场支持论坛上的帖子。

这是我活动的粘贴箱。php

http://pastebin.com/LB8bdyKj

这是代码部分,

<?php
$posts = get_field(\'speakers\');
if( $posts ) :
foreach( $posts as $post) :
  setup_postdata($post);
?>
<div class="span_6 speaker">
  <div class="span_5">
    <img src="<?php the_field(\'speakers_image\'); ?>" />
  </div>
  <div class="span_7">
  <h3><?php the_title();?></h3>
  <?php
  $videos = get_posts( array(
    \'post_type\' => \'videos\',
    \'meta_query\' => array(
      \'relation\' => \'AND\',
      array(
       \'key\' => \'speaker\',
       \'value\' => get_the_ID()
      ),
      array(
       \'key\' => \'events\',
       \'value\' => $eventid
      )
    )
  ) );
  $videoquerys = new WP_Query($videos);
  ?>
  <a class="" href="#">View Profile</a>
  </div>
</div>
以上是我在事件和演讲者之间尝试的信息,我可以很好地获得它,查询演讲者和事件,并获得与我有问题的视频匹配。

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

我用下面的代码完成了这项工作

http://hastebin.com/dufucamaja.xml

SO网友:pburke

看起来你两者都在用get_posts()new WP_Query() -- 你只需要一个或另一个。您还使用WP_Query() 不正确--它正在查找一组参数,但您正在传递$videos, 它是post对象的数组。

尝试以下操作:

<?php

$args = array(
  \'post_type\' => \'videos\',
  \'meta_query\' => array(
    \'relation\' => \'AND\',
    array(
     \'key\' => \'speaker\',
     \'value\' => get_the_ID()
    ),
    array(
     \'key\' => \'events\',
     \'value\' => $eventid
    )
  )
);

$videos = new WP_Query($args);

if($videos->have_posts()) : 
   while($videos->have_posts()) : 
      $videos->the_post();

?>

<!-- STUFF FOR EACH VIDEO HERE -->
<a href="<?php the_permalink(); ?>" ?>"><?php the_title(); ?></a>

<?php

endwhile;
endif;

?>
未经测试。希望对你有用。

结束

相关推荐

采用的自定义字段关系查询加上内部查询 - 小码农CODE - 行之有效找到问题解决它

采用的自定义字段关系查询加上内部查询

时间:2013-11-08 作者:user41522

我目前正在开发一个网站,我有三种自定义帖子类型(发言人、事件、视频)。每个活动都与演讲者有关系,因此在创建活动时,他们会选择演讲者在该活动中发言的内容。我的活动页面工作正常,我可以给演讲者打电话。我的视频自定义帖子类型中存在的问题创建视频时,用户有两个关系,他们可以选择录制的事件和用于哪个扬声器。所以在我的活动页面上,每个发言人下面。我想得到他们为那次活动拍摄的视频。我尝试过使用元查询,但我无法让它工作。我已经在ACF论坛上发帖,没有回复。如果有任何帮助,我都会非常感激。我已经想尽一切办法了。

http://support.advancedcustomfields.com/forums/topic/nesting-relationship-querys/

以上是高级定制现场支持论坛上的帖子。

这是我活动的粘贴箱。php

http://pastebin.com/LB8bdyKj

这是代码部分,

<?php
$posts = get_field(\'speakers\');
if( $posts ) :
foreach( $posts as $post) :
  setup_postdata($post);
?>
<div class="span_6 speaker">
  <div class="span_5">
    <img src="<?php the_field(\'speakers_image\'); ?>" />
  </div>
  <div class="span_7">
  <h3><?php the_title();?></h3>
  <?php
  $videos = get_posts( array(
    \'post_type\' => \'videos\',
    \'meta_query\' => array(
      \'relation\' => \'AND\',
      array(
       \'key\' => \'speaker\',
       \'value\' => get_the_ID()
      ),
      array(
       \'key\' => \'events\',
       \'value\' => $eventid
      )
    )
  ) );
  $videoquerys = new WP_Query($videos);
  ?>
  <a class="" href="#">View Profile</a>
  </div>
</div>
以上是我在事件和演讲者之间尝试的信息,我可以很好地获得它,查询演讲者和事件,并获得与我有问题的视频匹配。

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

我用下面的代码完成了这项工作

http://hastebin.com/dufucamaja.xml

SO网友:pburke

看起来你两者都在用get_posts()new WP_Query() -- 你只需要一个或另一个。您还使用WP_Query() 不正确--它正在查找一组参数,但您正在传递$videos, 它是post对象的数组。

尝试以下操作:

<?php

$args = array(
  \'post_type\' => \'videos\',
  \'meta_query\' => array(
    \'relation\' => \'AND\',
    array(
     \'key\' => \'speaker\',
     \'value\' => get_the_ID()
    ),
    array(
     \'key\' => \'events\',
     \'value\' => $eventid
    )
  )
);

$videos = new WP_Query($args);

if($videos->have_posts()) : 
   while($videos->have_posts()) : 
      $videos->the_post();

?>

<!-- STUFF FOR EACH VIDEO HERE -->
<a href="<?php the_permalink(); ?>" ?>"><?php the_title(); ?></a>

<?php

endwhile;
endif;

?>
未经测试。希望对你有用。

相关推荐