2016-03-22 1 views
-1

У меня есть поле внутри области администрирования WordPress, в разделе post-new.php. Я использую последнюю версию WordPress, а также плагин Advanced Custom Fields, так что я могу выписать это поле в header.php.
Я использую это поле для тега og:video, так что я могу легко вывести защищенный URL-адрес видео.
Проблема заключается в том, что значение по умолчанию - https, и поэтому, чтобы его можно было вызвать, URL-адрес видео всегда должен начинаться с https.
Когда я нажимаю кнопку публикации, база данных сохраняет это значение, так что защищенный URL-адрес og в пустом состоянии будет только https.
Например:

<meta property="og:video" content="https://www.neocsatblog.info/jwplayer/player.swf?file=https%3A%2F%2F&autostart=true&skinName=newtube&skinURL=https%3A%2F%2Fneocsatblog.info%2Fskinning-sdk%2Ffive%2Fnewtube%2Fnewtube.xml" /> 

Это проблема, потому что я не хочу пустое видео в посте на Facebook.
Таким образом, мне нужно проверить две вещи в заголовке:

  1. Во-первых: это поле пустым?
  2. Во-вторых: Есть ли символы в строке после https://?

Если оба условия выполнены, код должен выводить URL-адрес.
Текущий код PHP:

$video_url = get_field('video_url'); 
    if (isset($video_url)) { 
     $meta1='<meta property="og:video:type" content="application/x-shockwave-flash" />'; 
     $skinURL="https://neocsatblog.info/skinning-sdk/five/newtube/newtube.xml"; 
     $meta2=' <meta property="og:video" content="https://www.neocsatblog.info/jwplayer/player.swf?file='.urlencode($video_url).'&autostart=true&skinName=newtube&skinURL='.urlencode($skinURL).'" />'; 
     echo $meta1; 
     echo $meta2; 
    } 
+0

Почему я получаю votedown? Вопрос выглядит как хорошо для меня, спасибо за @CBroe – user3545446

ответ

0
if (isset($video_url) && $video_url !== "https://") { 
+0

Я по-прежнему получаю meta на своей странице: http://www.neocsatblog.info/vallalkozast-szeretnel-de-meg-nem-multal-el-25/ – user3545446

+0

Хорошо, вы сказали в своем вопросе, что по умолчанию «https», но похоже, что это не так. Я исправил свой ответ. – Chris

+0

Я знаю почему. Becouse Мне нужно использовать точную строку, как: https: // Но спасибо, приятель, вы поможете мне переполнить, хорошо! – user3545446

1

Попробуйте if ( (isset($video)) && (strpos($address, 'https://') == 0) && (strlen($address) > strlen('https://')) ) { // do stuff

+0

Thx для ответа, но @ Chris soulution теперь работает для меня :) – user3545446