Wordbox метабокса: как получить значение поля с несколькими значениями? - PullRequest
0 голосов
/ 21 мая 2011

я использую эту платформу 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";
}

Ответы [ 2 ]

0 голосов
/ 22 мая 2011

Мне нравится использовать короткую вспомогательную функцию для получения мета-значений.

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

0 голосов
/ 22 мая 2011

вот я сам разобрался, вот так:

$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";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...