2009-10-29 6 views
2

Я пытаюсь найти способ щелкнуть ссылку на боковой панели и пропустить прямо на одну страницу, если в категории есть только одно сообщение.Wordpress - Пропустить страницу категории, если только одно сообщение в категории

Это сайт, который я создал для компании, в которой я работаю. Например. Если вы нажмете ссылку «Kings Theatre» на боковой панели (под «просмотр клиентом»), она перейдет на страницу категории с одним элементом. Я хотел бы, чтобы эта ссылка была направлена ​​на единственную страницу.

Есть ли способ связать прямо на одной странице, если в этой категории есть только одно сообщение?

Вот ссылка:

http://www.oysterdesign.co.uk/category/work/

Большое спасибо за вашу помощь.

+0

Вид не по теме: Я только что узнал, что ваш логотип очень похож на язык программирования Lua в: http://www.lua.org/. Это было намеренно? Отличные проекты. – GmonC

+0

Привет, спасибо за комментарий. Я никогда не видел этот сайт раньше. Дизайн - это обновление нашего старого логотипа, который имел аналогичный круг перед текстом. –

+0

Надеюсь, это не противоречит правилам: Дэнни, у меня нет времени ответить на этот вопрос просто для удовольствия, но я уверен, что это то, что я могу сделать довольно легко на внештатной основе, если вы не найдете ответа здесь , – philfreo

ответ

1

В шаблоне категории проверяется количество элементов в массиве $ posts. Если есть 1, включите шаблон одной страницы или покажите обычный список категорий.

1

решение:

$category = get_the_category(); 
       $category = $category[0]; 
       $cat_ID = $category->cat_ID; 
       $args = array(
        'numberposts'  => 500, 
        'offset'   => 0, 
        'category'  => $category->cat_ID, 
        'orderby'   => 'menu_order', 
        'order'   => 'DESC', 
        'post_type'  => 'post', 
        'post_status'  => 'publish'); 

       $all_posts = get_posts($args); 
       $item_amount = count($all_posts); 
       // If there is only one post available, go directly to the post 
       if($item_amount == 1){ 
        header ("Location: ".get_permalink($all_posts[0]->ID)); 
       } 
Смежные вопросы