2015-09-19 4 views
0

Пользователи могут загружать и получать доступ к медиафайлам с передней стороны. Я использую следующий код, который извлекает медиафайлы и отображается на лицевой стороне пользователя. У меня 40 медиафайлов в моих загрузках wordpress, но я хочу показать, например. 20 медиафайлов на одной странице, и мне интересно, может ли кто-нибудь помочь написать предыдущий код навигации & для мультимедийных файлов. например, Page 1 2 3 ... 10Wordpress Media Count и следующая страница Навигация

<?php 
$args = array(
'post_type' => 'attachment', 
/* 'posts_per_page' => '2', */ 
'numberposts' => -1, 
'post_status' => null, 
'author' => $current_user->ID, 
'post_parent' => $post->ID, 
'caller_get_posts'=> 1, 
); 
    $attachments = get_posts($args); 
if ($attachments) { 
foreach ($attachments as $attachment) { 
echo '<tr><td><a href="'.wp_get_attachment_url($attachment->ID).'" rel="shadowbox" title="'.$attachment->post_excerpt.'">'; 
echo ($attachment->_wp_attached_file); 
echo '</a>  
</td> 
</tr>'; 
} 
?> 

ответ

0

Наконец я написал мое решение

<?php 

$paged = (get_query_var('page')) ? get_query_var('page') : 1; 

$args = array(               
    'post_type'  => 'attachment', 
    'posts_per_page'=> '10', 
    'paged'  => $page, 
    'numberposts'=> -1, 
    'post_status' => 'any', 
    'author'  => $current_user->ID, 
    'post_parent' => $post->ID, 
    'caller_get_posts'=> 1, 
    'number'  => $display_count, 


); 

// Custom query, display posts by args defined users 
$file_query = new WP_Query($args); 

$attachments = get_posts($args); 

if ($attachments) { 
foreach ($attachments as $attachment) { 
    echo '<tr><td><a href="'.wp_get_attachment_url($attachment->ID).'" rel="shadowbox" title="'.$attachment->post_excerpt.'">'; 
    echo ($attachment->_wp_attached_file); 
    echo '</a>  
    </td> 

    </tr>'; 
    }  
} 

?> 

Funtion запрос заехать в коде

<?php previous_posts_link('<< Previous Page', $file_query->max_num_pages); ?>&nbsp;|&nbsp;<?php next_posts_link('Next Page >>', $file_query->max_num_pages); ?> 
0

Вы можете попробовать использовать стандартную навигацию по Wordpress.

Попробуйте изменить $ арг, как это:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array(
    'posts_per_page' => 20, 
    'paged' => $paged 
); 

UPDATE:

<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array(
'post_type' => 'attachment', 
'posts_per_page' => 20, 
'paged' => $paged, 
'numberposts' => -1, 
'post_status' => null, 
'author' => $current_user->ID, 
'post_parent' => $post->ID, 
'caller_get_posts'=> 1, 
); 
    $attachments = get_posts($args); 
if ($attachments) { 
foreach ($attachments as $attachment) { 
echo '<tr><td><a href="'.wp_get_attachment_url($attachment->ID).'" rel="shadowbox" title="'.$attachment->post_excerpt.'">'; 
echo ($attachment->_wp_attached_file); 
echo '</a>  
</td> 
</tr>'; 
} 
?> 

UPDATE 2

Также вы должны использовать эту функцию

разместить его где-то внизу ваши посты

$big = 999999999; // need an unlikely integer 
$navArgs = array(
    'base'   => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), 
    'format'  => '?page=%#%', 
    'total'  => 1, 
    'current'  => max(1, get_query_var('paged')), 
    'show_all'  => False, 
    'end_size'  => 1, 
    'mid_size'  => 2, 
    'prev_next' => True, 
    'prev_text' => __('« Previous'), 
    'next_text' => __('Next »'), 
    'type'   => 'plain', 
    'add_args'  => False, 
    'add_fragment' => '', 
    'before_page_number' => '', 
    'after_page_number' => '' 
); 

echo paginate_links($navArgs); 

Как вы можете видеть, вы можете установить navArgs так, как вам нравится.

Вам необходимо получить общее количество ваших сообщений и установить «общий» параметр.

+0

Спасибо, выше предела кода СМИ/сообщения 20 на странице, но количество последующих страниц не отображаются на страница? – jugnu

+0

Попробуйте установить 5 сообщений на странице и посмотреть, появятся ли цифры. Также удалите параметр numberposts. – SergeyAn

+0

Я сделал это изменение и, похоже, не помогло, я удалил параметр numberposts и установил 5 сообщений на страницу. Я думаю, что это сработает, если мы добавим «предыдущие» и «следующие» номера страниц и ссылки после цикла. Если я исправлю, можете ли вы мне помочь? – jugnu

Смежные вопросы