两个不同的 get_posts() 返回相同的 post
Two different get_posts() returning same post
我正在使用 Wordpress 并尝试创建一些框,以自定义 post 类型从 Adanvec 海关字段中检索信息。
我有这个代码:
<div class="col-sm-2 hidden-xs">
<?php
$box1 = get_front_page_box("Box 1");
$style_front = get_box_style($box1->ID, "front");
echo $box1->ID;
?>
<div id="front-box-1" class="front-box height-low <?php echo $box1->ID; if(has_back_panel($box1->ID)) echo "flip"; ?>">
<div class="front" style="<?php echo $style_front; ?>"><a href="#">Banana</a></div>
<?php
if(has_back_panel($box1->ID)):
$style_back = get_box_style($box1->ID, "back");
?>
<div class="back" style="<?php echo $style_back; ?>"></div>
<?php endif; ?>
</div>
</div>
<div class="col-sm-5 hidden-xs">
<?php
$box2 = get_front_page_box("Box 2");
$style_front = get_box_style($box2->ID, "front");
echo $box2->ID;
?>
<div id="front-box-2" class="front-box height-low <?php echo $box2->ID; if(has_back_panel($box2->ID)) echo "flip"; ?>">
<div class="front" style="<?php echo $style_front; ?>"><a href="#">Banana</a></div>
<?php
if(has_back_panel($box2->ID)):
$style_back = get_box_style($box2->ID, "back");
?>
<div class="back" style="<?php echo $style_back; ?>"></div>
<?php endif; ?>
</div>
</div>
还有这些函数:
function get_front_page_box($name) {
$args = array(
'post_title' => $name,
'post_type' => 'front-page-box',
'post_status' => 'publish'
);
$box_array = get_posts($args);
$box = $box_array ? $box_array[0] : false;
print_array($box);
return $box;
}
function get_box_style($id, $side) {
$style = "";
if(get_field($side."_panel_background_color", $id)) $style = "background-color:".get_field($side."_panel_background_color", $id).";";
return $style;
}
但由于某些原因,两个盒子的细节相同(均来自盒子 2)。
知道为什么这些返回相同的信息吗? post("Box 1" 和 "Box 2" 都存在于 front-page-box
自定义 post 类型下。
只是为了检查,如果您添加另一个名为 "Box 3" 的框,所有框都有来自 "Box 2" 或 "Box 3" 的结果?
更好的方法是使用 post ID 作为 get_front_page_box() 中的参数。
似乎 post_title
不是有效的过滤器。
但是发现有一个特定的功能可以按标题获取帖子。
二手$box1 = get_page_by_title("Box 1", NULL, "front-page-box");
我正在使用 Wordpress 并尝试创建一些框,以自定义 post 类型从 Adanvec 海关字段中检索信息。
我有这个代码:
<div class="col-sm-2 hidden-xs">
<?php
$box1 = get_front_page_box("Box 1");
$style_front = get_box_style($box1->ID, "front");
echo $box1->ID;
?>
<div id="front-box-1" class="front-box height-low <?php echo $box1->ID; if(has_back_panel($box1->ID)) echo "flip"; ?>">
<div class="front" style="<?php echo $style_front; ?>"><a href="#">Banana</a></div>
<?php
if(has_back_panel($box1->ID)):
$style_back = get_box_style($box1->ID, "back");
?>
<div class="back" style="<?php echo $style_back; ?>"></div>
<?php endif; ?>
</div>
</div>
<div class="col-sm-5 hidden-xs">
<?php
$box2 = get_front_page_box("Box 2");
$style_front = get_box_style($box2->ID, "front");
echo $box2->ID;
?>
<div id="front-box-2" class="front-box height-low <?php echo $box2->ID; if(has_back_panel($box2->ID)) echo "flip"; ?>">
<div class="front" style="<?php echo $style_front; ?>"><a href="#">Banana</a></div>
<?php
if(has_back_panel($box2->ID)):
$style_back = get_box_style($box2->ID, "back");
?>
<div class="back" style="<?php echo $style_back; ?>"></div>
<?php endif; ?>
</div>
</div>
还有这些函数:
function get_front_page_box($name) {
$args = array(
'post_title' => $name,
'post_type' => 'front-page-box',
'post_status' => 'publish'
);
$box_array = get_posts($args);
$box = $box_array ? $box_array[0] : false;
print_array($box);
return $box;
}
function get_box_style($id, $side) {
$style = "";
if(get_field($side."_panel_background_color", $id)) $style = "background-color:".get_field($side."_panel_background_color", $id).";";
return $style;
}
但由于某些原因,两个盒子的细节相同(均来自盒子 2)。
知道为什么这些返回相同的信息吗? post("Box 1" 和 "Box 2" 都存在于 front-page-box
自定义 post 类型下。
只是为了检查,如果您添加另一个名为 "Box 3" 的框,所有框都有来自 "Box 2" 或 "Box 3" 的结果?
更好的方法是使用 post ID 作为 get_front_page_box() 中的参数。
似乎 post_title
不是有效的过滤器。
但是发现有一个特定的功能可以按标题获取帖子。
二手$box1 = get_page_by_title("Box 1", NULL, "front-page-box");