2016-03-27 3 views
1

Привет, ребята, у меня есть прикрепление типа сообщения для файлов PDF с использованием плагина wp-types. На самом деле скрипт отлично работает и отображает все файлы PDF в списке, но мне нужно открыть их в новом окне. Любая идея, как решить эту проблему и сделать каждый файл из категории типа публикации открыта в новом окне? Как открыть the_attachment_link (WordPress) в новом окне

Я знаю, как добавить это в обычный HTML-документ или с href с постоянной ссылкой.


<a href="#" title="My PDF File Title" target="_blank">PDF File</a> 

К примеру у меня есть аналогичный PDF один файл со следующим кодом и отлично работает:

<a href="<?php echo types_render_field("main-pdf");?>" target="_blank" title="Download <?php the_title(); ?> - Specifications"><i class="fa fa-file-pdf-o"></i> Download PDF Specification for <?php the_title();?></a> 

Я не могу работать следующий код ниже, чтобы открыть каждый файл в новом окне, например, следовать это WordPress руководство для "Display Прикрепленные изображения и названия в виде списка" посетить link (WordPress Codex)

target="blank" 

Любые предложения или решения с кодом ниже?

<?php 
$args = array(
'post_type' => 'attachment', 
'post_status' => 'any', 
'target' => '_blank', // a try this but not working 
'tax_query' => array(
    array(
     'taxonomy' => 'media_category', 
     'field' => 'link', 
     'terms' => 137 
    ) 
) 

); 

$the_query = new WP_Query($args); 

if ($the_query->have_posts()) { 
while ($the_query->have_posts()) { 
    $the_query->the_post(); 


     echo '<li class="cataloguelist">'; 
     echo '<i class="fa fa-file-pdf-o"></i>'; 

     echo the_attachment_link($attachment->ID, true); 
     echo apply_filters('the_title', $attachment->post_title); 

     echo '</li>'; 

} 
} else { 
// no attachments found 
} 

wp_reset_postdata();?> 

ответ

1

'target' => '_blank', // a try this but not working Удалить и добавить ниже код в ТЕМЫ functions.php добавить target="_blank".

Он будет работать только при использовании the_attachment_link или wp_get_attachment_link

function TargetAttachmentLink($markup) { 
    return preg_replace('/^<a([^>]+)>(.*)$/', '<a\\1 target="_blank">\\2', $markup); 
} 
add_filter('wp_get_attachment_link', 'TargetAttachmentLink', 10, 6); 
Смежные вопросы