У меня один из тех моментов, когда я знаю, что я так близок, и, возможно, мне не хватает чего-то очень незначительного, что приводит к тому, что это не работает.
Я использую предварительно созданную тему с оператором if для включения или выключения ссылки. То, что я хочу сделать, это поместить оператор if внутри THAT, различая внутренние и внешние ссылки, открывая внешние ссылки в новой вкладке.
Это та часть, над которой я специально работаю
if(!empty($parallax_one_service_box->title)){
if( !empty($parallax_one_service_box->link) ){
if($parallax_one_service_box->link_type == 'External'){
echo '<h3 class="colored-text"><a href="'.esc_url($parallax_one_service_box->link).'" target="_blank">'.esc_attr($parallax_one_service_box->title).'</a></h3>';
}else {
echo '<h3 class="colored-text"><a href="'.esc_url($parallax_one_service_box->link).'">'.esc_attr($parallax_one_service_box->title).'</a></h3>';
}
}
else {
if (function_exists ( 'icl_translate' ) && !empty($parallax_one_service_box->id)){
echo '<h3 class="colored-text">'.icl_translate('Featured Area',$parallax_one_service_box->id.'_services_title',esc_attr($parallax_one_service_box->title)).'</h3>';
} else {
echo '<h3 class="colored-text">'.esc_attr($parallax_one_service_box->title).'</h3>';
}
}
}
Так что это что-то вроде «если не пусто, если внешняя ссылка открыта в новой вкладке». Я запустил его с помощью проверки PHP-кода, и код правильный … не пропуская ни скобок, ни чего-либо. Кажется, проблема в том, что он либо открывает все на новой вкладке, либо не открывает ни одной на новой вкладке … он не различает внешнюю и внутреннюю. Так что я предполагаю, что что-то не так с линией «если внешне» …
Вот ссылка на Pastebin с целым разделом кода: http://pastebin.com/kmuGiVJv
Задача ещё не решена.
Других решений пока нет …