Nie chciany wygląd Custom Post Type

WordPress jest bardzo sprytnym i elastycznym CMS. Jego elastyczność jest tak duża, że sposobów rozwiązania/zakodowania jednego layoutu może być niezliczona ilość, wszystko zależy od doświadczenia i fantazji programisty. Może się zatem zdarzyć i tak było w naszym przypadku, że utworzyliśmy Custom Post Type o nazwie Kadry, dodaliśmy tam lekarzy, specjalistów, nadaliśmy im odpowiednie taxonomie i użyliśmy ich do wyświetlenia lekarzy zajmujących się daną specjalizacją, na stronie konkretnej specjalizacji. Klient jednak nie życzył sobie aby w google znajdowały się podstrony konkretnych lekarzy w ramach serwisu. Musieliśmy zatem widok takich podstron z google usunąć.

Można to zrobić np poprzez napisanie funkcji, która jeśli mamy określony post type przekierowuje na stronę główną. Można również jeśli jest to określony post type dodać meta noindex. To jednak można by nazwać metodą chałupniczą rozwiązania problemu, gdyż wordpress posiada już gotowe parametry do obsługi powyższych problemów.

Wystarczy przy rejestracji custom post type skorzystać z parametrów: exclude_from_search lub/i publicly_queryable.

Pierwsze pozwala nam na dodanie taku noindex, a drugie na usunięcie zupełnie podstrony typu single dla danego custom post.

Nasz kod do rejestracji kadr wygląda w tym momencie następująco:


function create_post_type_kadry()
{
 register_post_type('kadry', 
 array(
 'labels' => array(
 'name' => __('Kadra', 'szablon'), 
 'singular_name' => __('Osoba', 'szablon'),
 'add_new' => __('Dodaj osobę', 'szablon'),
 'add_new_item' => __('Dodaj osobę', 'szablon'),
 'edit' => __('Edytuj', 'szablon'),
 'edit_item' => __('Edytuj osobę', 'szablon'),
 'new_item' => __('Nowa osoba', 'szablon'),
 'view' => __('Zobacz osobę', 'szablon'),
 'view_item' => __('Zobacz osobę', 'szablon'),
 'search_items' => __('Szukaj osób', 'szablon'),
 'not_found' => __('Brak kadr dla tego wyszukiwania', 'szablon'),
 'not_found_in_trash' => __('Nie znaleziono odpowiednich kadr w koszu', 'szablon')
 ),
 'public' => true,
 'hierarchical' => true, 
 'has_archive' => true,
 'exclude_from_search' => true, //Wykluczenie z wyników wyszukiwania 
 'publicly_queryable' => false, //Usunięcie podglądu custom post
 'supports' => array(
 'title',
 'editor',
 'thumbnail'
 ),
 'can_export' => true, 
 'taxonomies' => array(
 'typy_kadr',
 'uslugi'
 ) 
 ));
}

1 Gwiazdka2 Gwiazdki3 Gwiazdki4 Gwiazdki5 Gwiazdek (1 głosów, średnia: 5,00 z 5)
Loading...

Office address
ul. Sadowa 10,
41-200 Sosnowiec

Address for correspondence
ul. Gwiezdna 8/10,
Sosnowiec 41-218