ElseIf Custom Field другое значение (Wordpress) - PullRequest
0 голосов
/ 20 августа 2011

(извините за мой английский), и я надеюсь объяснить!

Я ищу решение для отображения другого вывода для пользовательского файла с именем "cw".Моя тема часто используется в пользовательских файлах, поэтому я создал функцию для упрощения ваших вызовов:

/**
* Get custom field of the current page
* $type = string|int
*/
function my_getcustomfield($filedname, $page_current_id = NULL)
{
if($page_current_id==NULL)
$page_current_id = get_page_id();
$value = get_post_meta($page_current_id, $filedname, true);
return $value;
}

сказал, что я создал пользовательские файлы в своей теме:

<?php $video_code = my_getcustomfield('cw',get_the_ID()); if(!empty($video_code)) : ?>
<div class="video_code"><?php echo $video_code; ?></div>

Поскольку пользовательским значением является URL, введите: http://127.0.0.1:4001/?f=cadbe2676d5108523f931a68eedb3582, Мне нужно извлечь только идентификатор.используя эту технику PHP Regex для получения идентификатора видео YouTube? , я изменил свой пользовательский файл следующим образом:

<?php $video_code = my_getcustomfield('cw',get_the_ID()); $url = $video_code; parse_str(parse_url($url, PHP_URL_QUERY )); if(isset($video_code[0])){ ?>  
<div cacaolink="http://127.0.0.1:4001/?f=<?php echo $f; ?>"></div>
<?php } else { ?> 
<?php echo 'Video n.d.'; ?></div>
<?php endif; } ?>

Таким образом, все работает отлично.

Теперьпользовательские значения могут быть следующими:

<div cacaolink="http://127.0.0.1:4001/megavideo/megavideo.caml?videoid="></div>
<div cacaolink="http://127.0.0.1:4001/videobb/videobb.caml?videoid="></div>
<div cacaolink="http://127.0.0.1:4001/?f="></div>

** Наконец, вот проблема: как я могу использовать elseif в соответствии с пользовательским значением?

любая помощь приветствуется:) **

1 Ответ

0 голосов
/ 21 августа 2011

Короче говоря, вам нужно извлечь часть "video id" из URL-адресов, имеющих одну из 3 структур, определенных выше.Если я вас правильно понял, вы можете просто использовать следующий код:

    $video_id = preg_replace("/.*\?(videoid|f)=/", '', $customvalue);

Где $customvalue - это значение, извлеченное из вашего настраиваемого поля с помощью my_getcustomfield.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...