我正在使用Wordpress并尝试创建一些框,从自定义帖子类型的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)。
知道为什么这些返回相同的信息?这两个帖子(&#34; Box 1&#34;和#34; Box 2&#34;存在于front-page-box
自定义帖子类型下。
答案 0 :(得分:1)
似乎post_title
不是有效的过滤器。
但发现那里有一个特定的功能来获得标题的帖子。
已使用$box1 = get_page_by_title("Box 1", NULL, "front-page-box");
答案 1 :(得分:0)
只是为了检查,如果您添加另一个名为&#34; Box 3&#34;的框,则所有框都有来自&#34;框2和#34;的结果。或&#34;方框3&#34; ?
答案 2 :(得分:0)
更好的方法是使用帖子ID作为get_front_page_box()中的参数。