这有点让人头疼,我不知道该怎么做,或者即使这将是最好的方法。
然而,这是我的场景:
我需要将特定颜色应用于 wordpress 页面。我计划创建一个元框,允许用户选择 5 种颜色中的一种。现在这有点棘手,我希望这个颜色选择也适用于所有子页面。
有没有办法检查父页面是否选择了特定的元框选项?
这有点让人头疼,我不知道该怎么做,或者即使这将是最好的方法。
然而,这是我的场景:
我需要将特定颜色应用于 wordpress 页面。我计划创建一个元框,允许用户选择 5 种颜色中的一种。现在这有点棘手,我希望这个颜色选择也适用于所有子页面。
有没有办法检查父页面是否选择了特定的元框选项?
你可以用一些相当标准的逻辑来做到这一点:
下面是一些代码来展示它是如何工作的(在循环内):
if ( get_post_meta($post->ID, 'colour', TRUE) ) {
$colour = get_post_meta($post->ID, 'colour', TRUE);
} elseif ( $post->post_parent && get_post_meta($post->post_parent, 'colour', TRUE) ) {
$colour = get_post_meta($post->post_parent, 'colour', TRUE);
} else {
$colour = '#fff'; // could put a default value here
}
//do something with $colour variable
当您在循环之外时,您可以使用它get_queried_object()
来访问 post 对象。IE:
$queried_object = get_queried_object();
if ( get_post_meta($queried_object->ID, 'colour', TRUE) ) {
$colour = get_post_meta($queried_object->ID, 'colour', TRUE);
} elseif ( $queried_object->post_parent && get_post_meta($queried_object->post_parent, 'colour', TRUE) ) {
$colour = get_post_meta($queried_object->post_parent, 'colour', TRUE);
} else {
$colour = '#fff'; // could put a default value here
}
//do something with $colour variable