WP Скриване на избрана категория от първа страница

BullBlogger

New Member
...................................
Пример
...................................

Категории в блога: Ябълки, Круши, Дини, Домати

На първа страница се показват последните постове (обичайната настройка)

Как да НЕ показвам постовете от категория Домати на първа страница?

...................................
Кратко пояснение
...................................

Искам да се виждат всички категории освен една избрана (Домати). Естествено категорията си е в сайтмапа, в рсс-а и т.н. Просто не искам да се вижда в последните постове на първа страница

Търсих за плъгин, но не откривам нещо подобно. Има плъгини за криене на категориите от сайдбара, но това не ми върши работа.

Благодаря на отзовалите се!
 
От: Re: WP Скриване на избрана категория от първа страница

http://wordpress.org/extend/plugins/frontpage-category-filter/
http://wordpress.org/extend/plugins/wp-hide-categories/

Иначе може да се направи и хардкоднато в самата тема, ако ми пратиш home.php може да измислим нещо, но пробвай с плъгините първо.

А мен ме интересува има ли начин в WP тема да се направи така че ако се показва обява от определена категория на тази страница да не се показват рекламите на Адесенс а друга реклама.
 
Re: От: Re: WP Скриване на избрана категория от първа страница

А мен ме интересува има ли начин в WP тема да се направи така че ако се показва обява от определена категория на тази страница да не се показват рекламите на Адесенс а друга реклама.
Conditional tags
Прочети и долните мнения и ще ти светне как трябва да стане.
http://www.predpriemach.com/showthread.php?t=21657&p=198744#post198744
http://www.predpriemach.com/showthread.php?t=26088&p=237293#post237293
 
От: WP Скриване на избрана категория от първа страница

Аз имам едни Blogroll, които излизат в сайдбара и не мога да ги махна. Не са категории.
 
От: WP Скриване на избрана категория от първа страница

Аз имам едни Blogroll, които излизат в сайдбара и не мога да ги махна. Не са категории.
Добави някакви уиджети в тоя сайдбар да заместят дефолтните глупости.
Или го редактирай на ръка - sidebar.php се казва в по-простите теми.

А категорията може да се махне с лек едит - нещо от рода:
<?php query_posts($query_string . '&cat=-3,-8'); ?>
 
От: WP Скриване на избрана категория от първа страница

Добави някакви уиджети в тоя сайдбар да заместят дефолтните глупости.
Или го редактирай на ръка - sidebar.php се казва в по-простите теми.

А категорията може да се махне с лек едит - нещо от рода:

Стана. :)
Ето така го направих:
<!-- blogroll -->

<div class="widget widget_links">

<h3>Blogroll</h3>

<ul>
<?php query_posts($query_string . '&cat=-3,-8'); ?>

<!-- <?php wp_list_bookmarks('title_li=&categorize=0'); ?> -->

</ul>

</div>
Оригиналът беше:
<!-- blogroll -->

<div class="widget widget_links">

<h3>Blogroll</h3>

<ul>


<?php wp_list_bookmarks('title_li=&categorize=0'); ?>

</ul>

</div>
Мерси!
 
Re: От: WP Скриване на избрана категория от първа страница

Стана. :)
Ето така го направих:
Оригиналът беше:
Мерси!

Това <?php query_posts($query_string . '&cat=-3,-8'); ?> беше за булблогера. За теб да разкараш блогрола, направо търкай всичко пт пейстнатия код.
 
От: Re: От: WP Скриване на избрана категория от първа страница

Това <?php query_posts($query_string . '&cat=-3,-8'); ?> беше за булблогера. За теб да разкараш блогрола, направо търкай всичко пт пейстнатия код.
ОК. Направих го!
 
От: WP Скриване на избрана категория от първа страница

Абе аз се извинявам за своята безпросветност ама мога ли да наръгам долния код където ми падне и дефакто да разкарам тия категории?

Простичко: да го шибна в сайдбара, в index.php в post.php, page.php, archive.php, search.php и др пъхъпъта

PHP:
<?php query_posts($query_string . '&cat=-3,-8'); ?>
 
Re: От: WP Скриване на избрана категория от първа страница

Абе аз се извинявам за своята безпросветност ама мога ли да наръгам долния код където ми падне и дефакто да разкарам тия категории?

Простичко: да го шибна в сайдбара, в index.php в post.php, page.php, archive.php, search.php и др пъхъпъта

PHP:
<?php query_posts($query_string . '&cat=-3,-8'); ?>

Принципно може, но по този начин прави най-малко една допълнителна заявка. Освен това на някой места все пак ще се показват - в rss-a, в линковете Предишен / Следващ пост, разни плугини, които показват постове и т.н. Що просто не ги изтриеш тия домати?

Може да ползваш филтри:

http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts
http://codex.wordpress.org/Plugin_API/Filter_Reference

PHP:
// това е за всички списъци - категории, тагове, рсс и т.н
function filter_category( $query ) {
  if(is_home()){  // не показвай 1 и 5 на начална
    $query->set( 'cat', '-1,-5');
  } elseif(date('Y-m-d')=='2011-09-15') { // не показвай 10 на 15ти септември 
    $query->set( 'cat', '-10');
  } elseif($_SERVER['REQUEST_URI']=='basiurl-a') { // не показвай 12 на някакъв URL
    $query->set( 'cat', '-12');
  } // ... и т.н
  return $query;
}
add_filter( 'pre_get_posts', 'filter_category' );

// това е за next / prev post линковете, за rel=prev/next линковете в HEAD и за разни други места
function filter_posts( $posts ) {
  if(is_single()){  
    $remove_cats = array(5,10); // махни постовете тези категории
    foreach($posts as $k => $p){
      $pc = get_the_category($p->ID);
      foreach($pc as $c){
        if(!in_array($c->cat_ID, $remove_cats)){
          continue 2;
        }
      }
      unset($posts[$k]);
    }    
  } elseif( is_page() ){    
    $remove_pages = array(100,101); // махни тези страници
    foreach($posts as $k => $p){
      if(!in_array($p->ID, $remove_pages)){
        continue;
      }
      unset($posts[$k]);
    }  
  }  else { 
    // ... разни други нещица по желание 
  }
  return $posts;
}
add_filter( 'the_posts', 'filter_posts' );
Слагаш нещо такова във functions.php и си го нагласяш според нуждите.

Втория филтър може лесно да се ползва и за проблема на @miraco с адсенса и порно категориите в обявите.
 
От: WP Скриване на избрана категория от първа страница

Това с филтрите е леко предизвикателство за "дремещия програмист" в мен, но ще се пробвам да събудя мързеливото копеле.

Една репичка и се надявам, че няма да се наложи пак да питам ако наторя лехата
 
От: От: WP Скриване на избрана категория от първа страница

Използвах този код, благодарение на bgkulinar.
<div><?php
if( in_category( array( 438,439,20,440,443,444 ) ) ) //438,439,20,440,443,444 са ID-тата на категориите
{
include("bann.php");
}
else
{
include("300x250.php");
}
?></div>
 
Последно редактирано:

Горе