Wordpress Metabox:如何获取具有多个值的字段的值?

发布于 2024-11-08 07:49:14 字数 1006 浏览 0 评论 0原文

我正在使用此 WordPress Metabox 框架:http://www.deluxeblogtips。 com/p/meta-box-script-for-wordpress.html

这是代码,

array(
        'name' => '<strong>Robots Meta</strong>',           
        'desc' => '',                           
        'id' => $prefix . 'robot',               
        'type' => 'radio',                       
        'options' => array(                       
            'if' => 'index, follow',
            'in' => 'index, nofollow',
            'nf' => 'noindex, follow',
            'nn' => 'noindex, nofollow'
        ),       
    ),

我如何调用模板中每个单选值的值?

我尝试这样做,但它只检查它是否已设置:

$metas = get_post_meta(get_the_ID(), 'hiro_robot', false);


foreach ($metas as $meta) {
    echo $meta;
}


if (in_array($val, $metas)) {
    echo "$val is set";
} else {
    echo "$val is not set";
}

im using this Wordpress Metabox framework: http://www.deluxeblogtips.com/p/meta-box-script-for-wordpress.html

here is the code

array(
        'name' => '<strong>Robots Meta</strong>',           
        'desc' => '',                           
        'id' => $prefix . 'robot',               
        'type' => 'radio',                       
        'options' => array(                       
            'if' => 'index, follow',
            'in' => 'index, nofollow',
            'nf' => 'noindex, follow',
            'nn' => 'noindex, nofollow'
        ),       
    ),

how do i call the value of each of the radio values in the template?

i tried doing this but it only checks if it is set or not:

$metas = get_post_meta(get_the_ID(), 'hiro_robot', false);


foreach ($metas as $meta) {
    echo $meta;
}


if (in_array($val, $metas)) {
    echo "$val is set";
} else {
    echo "$val is not set";
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜巴黎 2024-11-15 07:49:14

我喜欢使用简短的辅助函数来获取元值。

function c3m_get_field($key, $echo = FALSE) {
global $post;
$custom_field = get_post_meta($post->ID, $key, true);
if ($echo == FALSE) return $custom_field;
echo $custom_field;
}

任何时候使用此功能时,您想要回显元键的值,您可以使用:

c3m_get_field('key', TRUE);

如果您想返回值:

c3m_get_field('key', FALSE);

此外,在您的答案中,您不需要使用 get_the_ID() 函数使用$post->ID

I like to use a short helper function for grabbing meta values.

function c3m_get_field($key, $echo = FALSE) {
global $post;
$custom_field = get_post_meta($post->ID, $key, true);
if ($echo == FALSE) return $custom_field;
echo $custom_field;
}

When using this anytime you want to echo the value of a meta key you can use:

c3m_get_field('key', TRUE);

If you want to return the value:

c3m_get_field('key', FALSE);

Also in your answer you don't need to use the get_the_ID() function just use $post->ID

你丑哭了我 2024-11-15 07:49:14

在这里我自己弄清楚了,事情是这样的:

$meta = get_post_meta(get_the_ID(), 'hiro_robot', true); 

if (is_page() || is_single() && $meta == 'if')
echo '<meta name="robots" content="index,follow" />'."\n";

elseif (is_page() || is_single() && $meta == 'in')
echo '<meta name="robots" content="index,nofollow" />'."\n";

elseif (is_page() || is_single() && $meta == 'nf')
echo '<meta name="robots" content="noindex,follow" />'."\n";

elseif (is_page() || is_single() && $meta == 'nn')
echo '<meta name="robots" content="noindex,nofollow" />'."\n";

here i figured it out myself, here it goes like this:

$meta = get_post_meta(get_the_ID(), 'hiro_robot', true); 

if (is_page() || is_single() && $meta == 'if')
echo '<meta name="robots" content="index,follow" />'."\n";

elseif (is_page() || is_single() && $meta == 'in')
echo '<meta name="robots" content="index,nofollow" />'."\n";

elseif (is_page() || is_single() && $meta == 'nf')
echo '<meta name="robots" content="noindex,follow" />'."\n";

elseif (is_page() || is_single() && $meta == 'nn')
echo '<meta name="robots" content="noindex,nofollow" />'."\n";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文