Как получить значение из произвольного поля?

Наваял такую вот выборку, но со временем появилась куча других произвольных полей которые нужно указывать.

ID, $key, TRUE);
if($themeta != '') 
{echo '
  • 10 кг = '; echo $themeta; echo '
  • '; echo '
  • 20 кг = '; echo ($themeta-100)*2; echo '
  • '; echo '
  • от 30 кг = '; echo ($themeta-200); echo '
';} $key = 'p2'; $themeta = get_post_meta($post->ID, $key, TRUE); if($themeta != '') {echo '
  • 10 шт = '; echo ($themeta-($themeta/100*4))*10; echo '
  • '; echo '
  • 50 шт = '; echo ($themeta-($themeta/100*5))*50; echo '
  • '; echo '
  • 100 шт = '; echo ($themeta-($themeta/100*15))*100; echo '
  • '; echo '
  • 500 шт = '; echo ($themeta-($themeta/100*20))*500; echo '
';} ?>

Как получить:

if exist custom_field_name_AAA { custom_field_name_AAA_value =$AAA1};
if exist custom_field_name_BBB { custom_field_name_BBB_value = $AAA1};

и тп.

В общем как доставать значение произвольного поля, если оно существует, если не существует искать следующее указанное в коде??

3 Комментарии

  1. Не совсем понятно чего вы хотите… вообще получить произвольное поле и поставить в условие можно так:

    < ?php
    $myfields1 = get_post_meta(get_the_ID(), 'myfields', true);
    $myfields2 = get_post_meta(get_the_ID(), 'myfields', true);
    $myfields3 = get_post_meta(get_the_ID(), 'myfields', true);
    
    if ($myfields1) { 
    echo "Поле 1 есть"; 
    }
    elseif ($myfields2) { 
    echo "Поле 2 есть"; 
    }
    elseif ($myfields3) { 
    echo "Поле 3 есть"; 
    }
    else {
    echo "Полей нет";
    }
    ?>
  2. Я хочу на русском так:

    <пхп какие произвольные_поля есть в этом посте; если есть имя_поля1 { $A = значение_из_поля1; }; конецесли; если есть имя_поля2 ( $A = значение_из_поля2; }; конецесли;

    • собстно в кодексе нашел кусок решения, последнюю строчку только под себя подправил.

        $custom_field_keys = get_post_custom_keys();
        foreach ( $custom_field_keys as $key => $value ) {
          $valuet = trim($value);
            if ( '_' == $valuet{0} )
            continue;
          echo $key . " => " . $value . "
      ";}

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*