Master-X
Форум | Новости | Статьи
Главная » Форум » Блоги и Социальные сети » 
Тема: Wordpress
цитата
12/03/07 в 21:59
 Xvost
А как сделать так, чтобы пост не добавлялся на главную страницу, а шел только в категорию?
цитата
12/03/07 в 22:06
 onn
выставить дату поста раньше, чем самый раний пост на главной странице ? smail11.gif
цитата
12/03/07 в 22:09
 Xvost
Не годится. Что, нет в WP такого? Может, плагин какой негиморный есть?
цитата
13/03/07 в 01:35
 onn
теперь будет icon_smile.gif

удаляем все посты указаной категории с индекс паги.
т.е. все посты в данную категорию будут видны только в категории.
$xxxcat_id=3; исправить на нужный айдих категории
сохранить и залить в wp-content/plugins/

Код:
<?php
/*
Plugin Name: No Category
Plugin URI: http://HZ
Description: Delete category only from index page.
Author: ONN
Version: 0.1
Author URI: http://HZ
License: GPL
*/

$xxxcat_id=3; // disabled category id

function xxposts_where($p){
   global $xxxcat_id;
   return is_home()?$p.' AND (category_id!='.$xxxcat_id.') ':$p;
}
function xxposts_join($p){
   return is_home()?$p.' LEFT JOIN wp_post2cat ON (wp_posts.ID=wp_post2cat.post_id) ':$p;
}
add_filter('posts_where','xxposts_where',1000);
add_filter('posts_join','xxposts_join',1000);

?>
цитата
13/03/07 в 02:11
 vashman
Analgetic писал:
Не годится. Что, нет в WP такого? Может, плагин какой негиморный есть?

самое негиморное - редактировать темплейт:
к примеру: есть цикл
<?php while (have_posts()) : the_post(); ?>. перед ним идет проверка на наличие постов вообще:
<?php if (have_posts()) : ?>
заменить ее на такую:
<?php if (!is_home() && have_posts()) : ?>
и получится что на морде (без категорий) - нет ни одного поста. все посты будут отражаться только в своих категориях. но при этом на морде останется надпись - Not Found
Чтобы и ее избежать - надо еще чуток изменить темплейт.
Принцип ясен? )
цитата
13/03/07 в 02:26
 Xvost
Мда... Пусть уж лучше все на морде будет icon_smile.gif
цитата
21/05/07 в 12:41
 cloot
vashman писал:
самое негиморное - редактировать темплейт:
к примеру: есть цикл
<?php while (have_posts()) : the_post(); ?>. перед ним идет проверка на наличие постов вообще:
<?php if (have_posts()) : ?>
заменить ее на такую:
<?php if (!is_home() && have_posts()) : ?>
и получится что на морде (без категорий) - нет ни одного поста. все посты будут отражаться только в своих категориях. но при этом на морде останется надпись - Not Found
Чтобы и ее избежать - надо еще чуток изменить темплейт.
Принцип ясен? )


Возможно, ты подскажешь как сделать другую вещь - вывести лишь одну определенную категорию на нос? ищу пару дней уже - пока ничего конкретного icon_sad.gif


Эта страница в полной версии