cb93ka

Выделение постов из выбранной категории на главной.

Собственно нужно было на главной блога выделить посты из нужной категории отдельно. Пример реализации – blogomob.ru. Тут посты из категории "блогомобы" имеют серый фон. Можно сотворить всё что вы с ними хотите через css.

Делается так:

для выделения на главной странице index.php
дописываем в шаблон

[quote]<?php get_header(); $uniq_id = 1; ?> // 1 – номер категории. смотрим в админ панели

<div id="content" class="narrowcolumn">

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>

<div class="post" id="post-<?php the_ID(); ?>"<?php if(in_category($uniq_id)) print " class=\"super_post\""; ?>>[/quote]
теперь в css прописываем правила для класса super_post

я к примеру поставил пока только background: #нужный цвет. вообще тут только ваша фантазия и знания css )

Спасибо Николаю, за помощь 🙂

два проекта на одном блоге

Собственно появился новый проект blogomob.ru, вроде как бы настроил под нужные действия (кстати какой плагин – голосования за комментарии юзеров?).
Теперь возникло желание вести на этом проекте свой блог, но думаю что пока не для общего вида, т.е. сделать чтобы он шел в отдельной категории или как там лучше. Вот и возник вопрос как лучше всё реализиовать.
Можно в принципе через выборку постов, убрать нужную категорию с главной (ту в которой будут у меня посты). потом через условия при заходе в мой блог (читать как моя категория) менять картинку шапки. и опять же через условия (видел где то типа if cat=id10 then echo (что то типа этого)) строить сайдбар, а там в ручную сделать метки и другое строение. но тогда в этом случае будут замутки с меню (придется делать вручную статическое меню) и ещё много чего можно придумать.
2ой вариант. сделать поддомен и залить туда ещё один блог и настраивать его нормально
3ий вариант. сделать на тех же файлах новый блог, но с помощью другого подключения к базе (тож где то видел).

вы как думаете и как бы сделали?
первый вариант был бы предпочтительнее – одна rss. счетчик и т.п.
вообщемс идея интересная. что скажете?

блок часто меняющегося текста

Собственно сабж. делается проект. движок выбрался под него – wp.
сайт rrk-mechta.ru

в левом нижнем углу инфа

Сегодня в меню:

Блюдо1
Блюдо2 под соусом
Котлеты с чесноком
Суп горячий
Картошечка По
Бабушкиному

она будет меняться каждый день. можно как нибудь менять это через wp, не лазя в шаблон. например сделать в том углу отображение текста одной страницы и править каждый день её, либо самому миниадминку писать (запись в обычный текстовой файл) и инклудить её в то место.

как лучше сделать?

Как подгружать на страницы excel документы

Вообщемс создается на wp каталог организаций _ishim.in вот тут, стала потребность выкладывать прайсы организаций, причем не линком на скачку а прямое отображение на страниице. каким образом подгружать? через инклуд? или как то автоматизированно можно сделать?

удобное и красивое оформление кода

создается сайт со статьями на двиге вордпресса. на нем будут выкладываться php\перл\прочие коды.
подскажите каким образом можно красиво это оформить в посте. если код большой страница разъезжается сильно и некрасиво. в идеале нравится оформление как в булке, когда код заключается в [_code][_/code] без "_"
пример:

function CheckPass($pop3server, $username, $pass)
{
  global $pop3port;
  $fp = fsockopen($pop3server, $pop3port, $errno, $errstr, 30);
  if (!$fp) 
    return false;
  $buf = fgets($fp, 128);
  if ($buf[0] != "+")
    {
      fclose($fp);
      return false;
    }
  fputs($fp,"user ".$username."\r\n");
  $buf = fgets($fp, 128);
  if ($buf[0] != "+")
    {
      fclose($fp);
      return false;
    }
  fputs($fp,"pass ".$pass."\r\n");
  $buf = fgets($fp, 128);
  if (strlen($buf) > 3 && $buf[0] == "+")
    {
      fclose($fp);
      return true;
    }
  fclose($fp);
  return false;
}

function genstr($l, $alf)
{
  $result = "";
  for ($i=0;$i<$l;$i++)
    $result .= $alf[0];
  return $result;
}

function nextpass($p, $alf)
{
  for ($i=0;$i<strlen($p);$i++)
    {
      if (strpos($alf,$p[$i]) ==  strlen($alf)-1)
        {
          $p[$i] = $alf[0];
        }
      else
        {
          $p[$i] = $alf[strpos($alf,$p[$i])+1];
          return $p;
        }
    }
  $p .= $alf[0];
  return $p;
}

if (isset($_POST["name"]))
  {
     if ($_POST["name"] === "")
      {
        echo "Отсутствует имя</body></html>";
        exit;
      }
     if (!isset($servers[$_POST["popserver"]]))
      {
        echo "Неправильно задан pop3 сервер</body></html>";
        exit;
      }

и в результате будет окно всегда одного размера и в нем будет весь код, так же если он большой то будет прокрутка в этом окошке.
как сделать что подобное на вп?

вывод рубрик на главной

нужно сделать по аналогии – http://articlebox.ru/
т.е. рубрики показать как там.

вот в оригинале главная страница такой сборки

<?php
/* Количество постов */
$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'");
if (0 <$numposts) $numposts = number_format($numposts);

/* Количество авторов */
$users = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->users");
if (0 <$users) $users = number_format($users);
?>

<?php get_header(); ?>

    <div id="content" class="narrowcolumn">

            <div class="post">
                <h2>Каталог статей</h2>
                <div class="entry">
<?
   /* функция для корректного отображения слов после числительных */
function declension($int, $expressions)
{
    settype($int, "integer");
    $count = $int % 100;
    if ($count >= 5 && $count <= 20) {
        $result = "<b>".$int."</b> ".$expressions['2'];
    } else {
        $count = $count % 10;
        if ($count == 1) {
            $result = " <b>".$int."</b> ".$expressions['0'];
        } elseif ($count >= 2 && $count <= 4) {
            $result = " <b>".$int."</b> ".$expressions['1'];
        } else {
            $result = " <b>".$int."</b> ".$expressions['2'];
        }
    }
    return $result;
}
?>

<?
   /* функция для корректного отображения слов после числительных */
function declens($int, $expressions)
{
    settype($int, "integer");
    $count = $int % 100;
    if ($count >= 5 && $count <= 20) {
        $result = "зарегистрирован <b>".$int."</b> ".$expressions['2'];
    } else {
        $count = $count % 10;
        if ($count == 1) {
            $result = "зарегистрирован <b>".$int."</b> ".$expressions['0'];
        } elseif ($count >= 2 && $count <= 4) {
            $result = "зарегистрировано <b>".$int."</b> ".$expressions['1'];
        } else {
            $result = "зарегистрировано <b>".$int."</b> ".$expressions['2'];
        }
    }
    return $result;
}
?>

<p>Мы рады приветствовать Вас в нашем каталоге статей, созданном на базе <a href="http://ru-wordpress.org/articlebox/">WordPress</a> и обладающим всеми преимуществами блогов.</p>
<p>В настоящее время в каталоге содержится <? echo declension($numposts, array("статья", "статьи", "статей")) ?> и <? echo declens($users, array("автор", "автора", "авторов")) ?>.</p>

            <h2>Рубрики</h2>
<br />
                <ul id="cat">
    <?php wp_list_cats('sort_column=menu_order&optioncount=1&hierarchical=1&hide_empty=0'); ?>
                </ul>

<?
function BX_get_recent_posts($current_id, $limit)
{
    global $wpdb;
    $posts = $wpdb->get_results("SELECT ID, post_title FROM " . $wpdb->posts . " WHERE post_status='publish' ORDER BY post_date DESC LIMIT " . $limit);
    foreach ($posts as $post) {
        $post_title = stripslashes($post->post_title);
        $permalink  = get_permalink($post->ID);
        if ($post->ID != $current_id) echo "<li><a href=\"" . $permalink . "\">" . $post_title . "</a></li>\n";
    }
}
?>

<div id="clear"></div>
<p>Если на данный момент в нашем каталоге статей нет рубрики, в которой Вы бы хотели опубликовать свою статью, Вы можете опубликовать её в наиболее близкой по тематике, а модераторы каталога сами создадут подходящую рубрику.</p>

<h2 id="clear">Последние статьи:</h2>
<ul>
<?php BX_get_recent_posts($p,20); ?>
</ul>

</div>
</div>
</div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

но вот это

<h2>Рубрики</h2>
<br />
				<ul id="cat">
    <?php wp_list_cats('sort_column=menu_order&optioncount=1&hierarchical=1&hide_empty=0'); ?>
				</ul>

в последней вашей сборке (2.2.3) – не отображается. ошибка.

как сделать? буду оч признателен..

Anonymous
Отправить
Ответ на: