RaftKorn

Выборка записей

Такая вот задачка – к примеру есть блог в котором 1000+ записей. 5 из этих записей про книгу гари поттер. Как сделать чтоб под каждой из этих записей выводились остальные 4 (название и превью). И таких связок записей на сайте сотни.

Можно ли это сделать через метки или Custom Fields?

Свой виджет

Почитал вот здесь – http://maxsite.org/page/ras33 как сделать свой вижет, но проблемка, вставляю функцию полностью как у Макса:

function widget_maxsite_1() {
     $options = get_option('widget_maxsite_1');
     $hide_empty = $options['hide_empty'] ? '1' : '0';
     $show_count = $options['show_count'] ? '1' : '0';
     echo '<h2 class="box">Рубрики</h2><ul class="is_link">';
     wp_list_categories('title_li=&show_count=' . $show_count .
             '&hide_empty=' . $hide_empty);
     echo '</ul>';
 }



 function widget_maxsite_1_options() {
     # получаем наши опции. Обратите внимание на название
     # оно должно быть такое-же, как в предыдущей функции
     $options = $newoptions = get_option('widget_maxsite_1');
     # получаем данные POST. Если они есть, то есть было обновление настроек,
     # то обновляем переменную $newoptions новыми значениями.
     # Сами значения - это названия полей формы (см. ниже)
     # Функция isset проверяет есть ли такое значение
     # вы помните, что опции hide_empty и show_count принимают
     # значения 1 или 0 (отмеченны или нет)
     if ( $_POST['widget_maxsite_1_submit'] ) {
         $newoptions['hide_empty'] =
                     isset($_POST['widget_maxsite_1_hide_empty']);
         $newoptions['show_count'] =
                     isset($_POST['widget_maxsite_1_show_count']);
     }
     # если новые опции не равны старым, то есть изменились
     # то обновляем старые
     if ( $options != $newoptions ) {
         $options = $newoptions;
         update_option('widget_maxsite_1', $options);
     }
     # Получаем значения переменных. Нужно это для того,
     # чтобы в самой форме восстановить значения чекбоксов
     $hide_empty = $options['hide_empty'] ? 'checked="checked"' : '';
     $show_count = $options['show_count'] ? 'checked="checked"' : '';
     # вывод формы
     # Обратите внимание на префикс полей "widget_maxsite_1_"
     # нужно обязательно использовать уникальные поля, поскольку
     # у вас будут множество виджетов и если имена (name и id)
     # будут совпадать, то в массиве POST может оказаться значение
     # из другого виджета
     echo <<<EOF
     Скрывать рубрики без записей
     <input class="checkbox" type="checkbox" {$hide_empty}
         id="widget_maxsite_1_hide_empty" name="widget_maxsite_1_hide_empty" />
     <br />Показывать количество записей
     <input class="checkbox" type="checkbox" {$show_count}
         id="widget_maxsite_1_show_count" name="widget_maxsite_1_show_count" />
     <input type="hidden" id="widget_maxsite_1_submit"
         name="widget_maxsite_1_submit" value="1" />
 EOF;
 }

 register_sidebar_widget('Виджет 1', 'widget_maxsite_1');
 register_widget_control('Рубрики для меня', 'widget_maxsite_1_options');

А в итоге получаю:
Parse error: syntax error, unexpected $end in бла-бла-бла\functions.php on line 100

Сотая стока – она закрывает весь код (?>)

Если убираю кусок

     echo <<<EOF
     Скрывать рубрики без записей
     <input class="checkbox" type="checkbox" {$hide_empty}
         id="widget_maxsite_1_hide_empty" name="widget_maxsite_1_hide_empty" />
     <br />Показывать количество записей
     <input class="checkbox" type="checkbox" {$show_count}
         id="widget_maxsite_1_show_count" name="widget_maxsite_1_show_count" />
     <input type="hidden" id="widget_maxsite_1_submit"
         name="widget_maxsite_1_submit" value="1" />
 EOF;

то ошибка исчезает, но и не работает ничего 🙂
В пхп не силен, подскажите в чем проблема может быть?

Условие для постов опред. категории

Для того чтобы вывести в определенной категории класс, я использую функцию:

<?php if ( is_category(1) ) { echo " class=\"catinf\""; } ?>

А как сделать чтобы и в постах этой категории выводилось тоже самое?

Условие для подстраниц

Уф, уже целый день над одной задачей бьюсь, последняя проблема осталась, ну никак не могу въехать как решить.

В общем есть условие – <?php if ( is_page(2) ) { ?> id="active" <?php }?>

А как сделать чтобы на всех страницах подчиненных странице с id2, тоже выполнялось это условие?

Список страниц родителя в меню

Такая задача – вывести в меню список страниц которые принадлежат родителю текущей страницы.

В общем пример:

Страница1
–Страница2
–Страница3
–Страница4
Страница5
–Страница6
–Страница7
–Страница8
Страница9….

Находясь на странице 2 надо в меню получить страница 2,3,4. Находясь на странице 7 получить список 6,7,8, и так далее…

Внутри лупа можно сделать, а как вне лупа сделать?

Определенные категории записи

Пример:
Есть запись, которая помещена в пять категорий
Категория 1
–Категория2
–Категория3
Категория4
Категория5
(т.е. Категория 2 и 3 – это подкатегории Категории 1).

И вот вопрос – как вывести в списке категорий определенной записи только категории 2 и 3 (т.е. подчиненные категории 1).

По сути мне надо к <?php the_category() ?> применить child_of…

Ошибка в 2.8. (после обновления)

Обновил блог до 2.8., вроде все гуд было. А при попытке добавить запись (и когда черновик пытается сохранить) пишет:

Fatal error: Call to undefined function: _weak_escape() in /home/uzer/public_html/blog/wp-includes/wp-db.php on line 487

Не работает функция при поиске

Есть вот такая функция:

function dp_attachment_image($postid=0, $size='thumbnail', $attributes='') {
    if ($postid<1) $postid = get_the_ID();
    if ($images = get_children(array(
        'post_parent' => $postid,
        'post_type' => 'attachment',
        'numberposts' => 1,
        'post_mime_type' => 'image',)))
        foreach($images as $image) {
            $attachment=wp_get_attachment_image_src($image->ID, $size);
            ?><img src="<?php echo $attachment[0]; ?>" <?php echo $attributes; ?> /><?php
        }
}

Вот так ее инклудим шаблоне:

<?php dp_attachment_image($post->ID, 'thumbnail', 'alt="' . $post->post_title . '"'); ?>

На главной все чудесно работает, а вот в результатах поиска нет, и не пойму в чем дело…

Редактор тем в 2.8 и Opera

Подскажите, это только у меня редактор тем глючит в новой версии?
Например при нажатии ентера, перескакивает на начало…

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

Добрый день.
Подскажите, можно ли как-то сделать вывод после каждой второй записи блок
<div class="clear"></div>
Нужно именно после каждой второй записи.

Вывести текст ТОЛЬКО на главной

Подскажите, как вывести текст только на главной странице, и чтоб больше нигде не выводился он.

Вот это:

<?php if (is_home()) { ?>
Текст
<?php } ?>

Не совсем то, так как переходе с главной по пагинави – текст все равно выводится, а нужно чтоб только на самой главной был.

is_front_page тоже не подходит.

Первые 3 записи полностью, а потом more

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

Я так понимаю что нужно использовать query_posts , только не могу понять как правильно сделать сдвиг постов.

Т.е. я использую <?php query_posts(‘offset=3’); ?> – он мне сдвигает на три поста, на при переходе на след. страницу – выводит то же что и на главной.

Превью для страницы

Есть сайт на ВП, он полностью построен на страницах (без постов). И вот есть такая задача – сделать вывод названия станцы и ее краткого описания (первые 100 символов статьи), и сделать это надо циклом для страниц, которые подчинены одной конкретной странице.

Т.е. есть:

Страница 1

  • Страница 1.1
  • Страница 1.2
  • Страница 1.3

Надо сделать вывод таким образом:

Страница 1.1
Первый 100 символов

Страница 1.2
Первый 100 символов

Страница 1.3
Первый 100 символов

Для постов это все делается без всяких проблем, а можно ли такое сделать для страниц? Может есть какой-то плагин?

Страницы и подстраницы wp_list_pages

Такой вопрос – как можно без плагинов вывести в сайтбар список страниц, чтоб при переходе на определенную страницу отображались ее sub-pages.

Т.е. на главной мы видим:

  • Страница 1
  • Страница 2

А при переходе на Страница 1, мы видим:

  • Страница 1

    • Страница 1.1
  • Страница 2

При переходе на Страница 1.1 мы видим тоже что и на Страница 1.

Пробовал вот этот код (в page.php):

<?php  
if($post->post_parent)  
$children = wp_list_pages("title_li=&amp;amp;amp;child_of=".$post->post_parent."&amp;amp;amp;echo=0"); else  
$children = wp_list_pages("title_li=&amp;amp;amp;child_of=".$post->ID."&amp;amp;amp;echo=0");  
if ($children) { ?>  
<ul>  
<?php echo $children; ?>  
</ul>  
<?php } ?>

(нашел здесь – http://wphelp.ru/2008/list-sub-pages.htm ), но работать он не хочет.

А код

<?php
$output = wp_list_pages('echo=0&depth=1&title_li=<h2>Top Level Pages </h2>' );
if (is_page( )) {
  $page = $post->ID;
  if ($post->post_parent) {
    $page = $post->post_parent;
  }
  $children=wp_list_pages( 'echo=0&child_of=' . $page . '&title_li=' );
  if ($children) {
    $output = wp_list_pages ('echo=0&child_of=' . $page . '&title_li=<h2>Child Pages</h2>');
  }
}
echo $output;
?>

выводит только sub-pages.

Вся загвоздка в том, что это надо сделать без плагинов.

Как получить url страницы по ее ID

Как можно получить url страницы по ее ID?

Для поста так:
<?php get_permalink(id); ?>

А как для страницы?

Клас для активной страницы

Такой вопрос – есть список страниц li, но они не формируются движком, т.е. этот список в шаблоне вручную прописан, каким образом можно задать клас активной странице?
Пробовал так (на форуме нашел):

<li <?php if(is_page('КОРОТКАЯ_ССЫЛКА_СТРАНИЦЫ')) echo ' class="active"'; ?>><a href="/КОРОТКАЯ_ССЫЛКА_СТРАНИЦЫ/">БЛА-БЛА</a></li>

Но ничего не выходит…

Вывод рисунков рядом с постом

Подскажите, что это за плагин вот здесь – http://www.iammikesmith.com/
Он походу выводит изображения рядом с постом.

Добавить код вокруг каждого виджета

Каждый виджет начинается с тега <li> и заканчивается </li>, т.е. вот пример сайтбара:

<DIV>
<UL>
<LI id="text-319276711" class="widget widget_text" >
<H2 class="widgettitle" >Виджет 1</H2>
<DIV class="textwidget" >Виджет 1 текст</DIV>
</LI>
<LI id="text-319288041" class="widget widget_text" >
<H2 class="widgettitle" >Виджет 2</H2>
<DIV class="textwidget" >Виджет 2 текст</DIV>
</LI>
</UL>
</DIV>

А как сделать так, чтоб виджет начинался и заканчивался не li, а к примеру <table>, т.е. вот так:

<DIV>
<UL>
<table><tr><td><LI id="text-319276711" class="widget widget_text" >
<H2 class="widgettitle" >Виджет 1</H2>
<DIV class="textwidget" >Виджет 1 текст</DIV>
</LI></td></tr></table>
<table><tr><td><LI id="text-319288041" class="widget widget_text" >
<H2 class="widgettitle" >Виджет 2</H2>
<DIV class="textwidget" >Виджет 2 текст</DIV>
</LI></td></tr></table>
</UL>
</DIV>

Не подскажете какой файл надо править?

Всплывающие рисунки

Есть ли какой-то плагин чтоб сделать всплывающие картинки в WordPress?
Чтоб при создании записи вставлять миниатюру с ссылкой на оригинальную картинку, а при нажатии она не просто открывалась, а открывалась красиво. Вот как здесь например здесь.

Рисунок в посте, в зависимости от категории…

Как можно сделать следующее – в файле single.php, в одном месте прописать, что если запись относится к 1й категории, то выводится изображение такое-то, а если 2я категория, то изображение такое-то…

Т.е. должно быть типа условие, что если категория такая-то – вставляем код такой-то (код – вставка рисунка).

Не подскажете как такое сделать?

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