01. Проблемы и решения с WordPress

Что-то не работает? Сайт не загружается? Сломалось. Пиши сюда.

SQL запрос совместно с new WP_Query РЕШЕНО!

Наконец нашёл решение для постраничной навигации по постам, полученных путём анализа даты в Custom Fields.

Для постраничной навигации подразумевается использование WP_Query и стандартного Loop.
А для того чтобы собрать необходимые посты необходим свой самописный SQL запрос.

Это решение для проблемы. http://forum.maxsite.org/viewtopic.php?id=9871

Никак не мог понять как можно это совместить, в интернете эта проблема обсуждалась крайне мало. Везде после SQL запроса использовали цикл Foreach, в котором навигация не получалась.

Итак, Код… Выделенные курсивом участки являются строкой, передаваемой в MySQL. По ней, субд вернёт нужные посты и в правильном порядке.
Чтобы это заработало нужно перед созданием запроса new WP_Query($args); вызывать функцию add_filter.

function filter_where($where = ”) {
$where .= "AND STR_TO_DATE(meta_value,’%d.%m.%Y’) >= CURDATE()";
return $where;
}

function date_order($orderby = ”) {
$order .= "STR_TO_DATE(meta_value,’%d.%m.%Y’) ASC";
return $order;
}

add_filter(‘posts_where’, ‘filter_where’);
add_filter(‘posts_orderby’, ‘date_order’ );

$args = array(
‘category__and’ => array($child_cat_id,$child_cat_id),
‘meta_key’ => $meta_field_name,
‘showposts’ => 6,
);
$my_query = new WP_Query($args);

Выравнивание столбца в таблице

Необходимо во втором столбце задать выравнивание по горизонтали по центру. При этом в первом столбце оставить выравнивание по левому краю.

Выравнивание произвожу тегом <col>. При этом в opera 10.10 все замечательно работает, а вот в остальных браузерах выравнивание идет по левому краю, а не по центру.

Пример таблицы:

<table border="1" cellspacing="0" CELLPADDING="2">
<col>
<col align="center">
<tr>
<th bgcolor="#e6e6e6">Заголовок 1</th>
<th bgcolor="#e6e6e6">Заголовок 2</th>
</tr>
<tr>
<td><b>1</b></td>
<td>2</td>
</tr>
<tr>
<td>11</td>
<td>22</td>
</tr>
<tr>
<td>111</td>
<td>222</td>
</tr>
</table>

Группы рубрик

Подскажите, как можно рубрикам присвоить свои метки, чтобы выводить группы рубрик? Может плагин какой уже есть?

Помогите с комментариями

Не могу добиться, чтобы комментарии разбивались на страницы!!! Похоже, что в шаблоне напрочь отсутствует эта функция, а в страницах вообще комментарии отсутствуют!!! Но проблема не в этом, а в том, что прикрутил гостевую книгу, а в нее вал народу пишет. За 5 дней работы сайта 290 комментариев уже. И число их только будет увеличиваться. У меня более 1000 уникальных посетителей в день.
Думал, что проблема в Guestbook generator, а оказалось, что не в нем. После сноса генератора та же проблема осталась. На страницах нет формы добавления комментариев и не разбиваются постранично ни в гостевой, ни в постах… Плагин Paginated comments не помогает и уродует дизайн!!! Помогите, пожалуйста.

Хитро-выкрученные хлебные крошки

Очень хочу заменить стандартные хлебные крошки "Главная <- Название категории <- Название Статьи" на нестандартный вариант. Например:
1-ая статья в той же категории с крошками "Авто <- Ford <- Ford Fiesta"
2-ая статья в той же категории с крошками "Автомобили <- машины Форд <- Ford Scorpio"
3-ая статья в той же категории с крошками "Все модели машин <- Раздел о Ford <- Ford Focus"
Ну и т.д.

Т.е. нужно, чтоб вместо Главной и Названия_Категории выводились всякие-разные синонимы.

Пробовал реализовать в ручную – быстро замаялся. Пробовал рендомно – получилось хорошо, но крошки "пляшут" при перезагрузке страницы (т.е. наверно нужно привязываться как-то к id записи, но знаний не хватает понять как это сделать).

В общем, пните меня в нужном направлении, чтоб сообразить как это реализовать.
Спасибо.

Пересечение нескольких new WP_Query

Это продолжение истории с получением постов по дате в custom_fields
http://forum.maxsite.org/viewtopic.php?id=9871

Предыстория После долгих танцов с бубном, пришлось отказаться от "ручного- Sql Запроса" , так как для постраничной навигации мне придётся использоваться использовать query_posts, который в свою очередь выводит переданные id постов в неправильном порядке.

На данный момоент в custom fields у меня дата лежт в формате yyyy.mm.yy , что позволяет мне применять сортировку и получение необходимых дата через quary_post

Проблема Мне нужно вывести записи , у которых дата в custom fields меньше чегото и больше чего-то другого

т.е. в идеале хочу выполнить такой код.

$children_query = new WP_Query(array(
‘category__and’ => array($child_cat_id,$child_cat_id),
‘meta_key’ => $meta_field_name,
‘meta_compare’ => ‘>=’,
‘meta_value’ => ‘2010.03.10’,
‘meta_compare’ => ‘<=’,
‘meta_value’ => ‘2010.04.10’,
));

Ясень пень что такая конструкция не работает.

Вываливает слишком много.
В тоже время, по отдельности

$the_query1 = new WP_Query(array(
‘category__and’ => array($child_cat_id,$child_cat_id),
‘meta_key’ => $meta_field_name,
‘meta_compare’ => ‘>=’,
‘meta_value’ => ‘2011.01.01’,

‘showposts’ => -1,
));

$the_query2 = new WP_Query(array(
‘category__and’ => array($child_cat_id,$child_cat_id),
‘meta_key’ => $meta_field_name,
meta_compare’ => ‘<=’,
‘meta_value’ => ‘2011.02.10’,

‘showposts’ => -1,
));

всё работает предсказуемо.

Подскажите есть ли способ пересечь $the_query1 и $the_query2 в $main_query , в которой бы находились только общие посты

пароль на страницу

Доброго времени!

Нужно сделать так: если страница на пароле, то при вводе пользователю отображались не ****, а вводимые им символы.

Понимаю, что нужно убрать hidden. Где, в каком файле/функции?
Речь идет только о странице, все остальные вводы пароля( при авторизации и пр) – должны остаться hidden.
Спасибо!

Вывод подкатегорий

Второй день мучаюсь над проблемой, суть такова:
Есть 12 основных рубрик в каждой из которых есть подрубрики.
Если открываем Рубрику-1, то в сайдбаре должно отображаться:

  • На главную
  • Рубрика-1

    • Подрубрика-1
    • Подрубрика-2

Если открываем Рубрику-2:

  • На главную
  • Рубрика-2

    • Подрубрика-1
    • Подрубрика-2

<ul>
<li>
<a href="<?php bloginfo(‘url’); ?>">На главную</a>
</li>
<li>
<a href=" id родительской рубрики ">Рубрика-1</a>
</li>
<?php wp_list_categories(‘title_li=0&child_of=’. id родительской рубрики ); ?>
</ul>

По хорошему нужно узнать id родительской рубрики (одной из 12-ти, тоесть при клике на Подрубрику-1 она не должна быть родителем).

Использовал такой код:

<?php
if (is_category()) {
$mgCurParent = &get_term($cat,'category');
if ($mgCurParent->parent == 0) {
$mgGlobalParent = $cat;
} else {
$mgCurCatID = $cat;
do {
$mgCurParent = &get_term($mgCurCatID,'category');
$mgCurCatID = $mgCurParent->parent;
$mgGlobalParent = $mgCurParent->term_id;
} while ($mgCurParent->parent > 0);
}
}
?>

$mgGlobalParent и есть id родителя, но если сделать клик на подрубрике то $mgGlobalParent=id подрубрики…

Сортировка постов в архивах

Все привет, прошу помочь.
Есть плагин GD Star Rating, пытаюсь сделать так что бы посты в архивах выводились на основании рейтинга
что делаю:

перед строкой

<?php

if (have_posts()) :
while (have_posts()) : the_post();
$arc_year = get_the_time(‘Y’);
$arc_month = get_the_time(‘m’);
$arc_day = get_the_time(‘d’);
?>

ставлю строчку

<?php query_posts(‘gdsr_sort=rating&gdsr_order=desc’) ?>

сортировка по рейтингу работает, но в каждую категорию начинают выводиться все посты. Как сделать так, что бы выводились посты только из конкретной категории. помогите нубу:(

query_posts определённых ID

Бьюсь над задачей постраничного вывода записей по определённой дате в custom fields.

Основную задачу решил
http://forum.maxsite.org/viewtopic.php?id=9871

Итак, теперь у меня есть массив ID записей, которые мне нужно выводить.
Надо сказать, что данный массив ID я получал с помощью функции setup_postdata() в цикле foreach. В нём же я мог и выводить информацию каждой конкретной записи. Но выводя информацию в цикле foreach, у меня нет возможности использовать постраничную навигацию по записям.

Для постраничной навигации мне нужен loop типа.

query_posts()
if (have_posts()) : while (have_posts()) : the_post();
….
endwhile;
endif;

Этот цикл можно использовать для постраничной навигации.

Но я столкнулся с неожиданной проблемой.
Имея массив ID записей, которые мне надо показывать, я никак не могу понять как можно сформировать query_posts(). Чтобы в нём были записи, с нужными ID и в том же порядке, в котором эти ID находятся в массиве.

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

Если у вас есть альтернативные способы постраничного отображения записей, пожалуйста поделитесь :).

Проблемы с картинками

Здравствуйте, столкнулся с проблемой вставки картинок, а точнее с 2-мя проблемами. Помогите решить их:

1. При загрузке картинок через встроенный инструмент происходит их клонирование(т.е. создаются изображения в 3-х копиях, но с разными размерами, что соответственно забивает место на хосте). Помогите отключить это, чтобы загружалась в корень сайта только оригинальное изображение.

2. Возможно ли как то настроить WP, чтобы заливать самому картинки в папку upload? Т.е. у меня есть несколько категорий на блоге, так вот надо чтобы изображения которые относятся к text, я помещал в папку, ну допустим, upload/2010/03/text/001_newpost. Соответственно для заметки 2 я бы создавал папку(002_newpost) и заливал изображения туда и в статье они от туда бы вставлялись мной. И так для каждой категории.

Заранее спасибо.

Создание второго меню в word press

Доброго времени суток,подскажите пожалуйста как создать второе меню в wordpress?Меню должно быть уникальным по содержанию,содержать переходы статичные страницы и не должно пересекаться с основным меню по содержанию.

Перестели грузится картинки.

Перестели грузится картинки в nextgen-gallery флешплейером, пишет сообщения "ERROR HTTP ERROR : 010.jpg : 302" при выключении флешзагрузки кртинки грузятся. Что может быть? где искать?

Ужастные тормоза.

Очень медленная работа ресурса, с чем это может быть связанно? Это хостер тормозит или на самом деле баги в той сборке вордпресса которую я взял для работы? Брал на оф сайте.

Адрес ресурса http://aklion.ru/

вот логи ошибок, как их устранить и что это значит

[Sat Mar 27 18:46:57 2010] [error] [client 188.122.251.102] PHP Warning: Division by zero in /storage/home/srv13996/htdocs/aklion/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php on line 282, referer: http://aklion.ru/blog.htm
[Sat Mar 27 18:46:57 2010] [error] [client 188.122.251.102] PHP Warning: Division by zero in /storage/home/srv13996/htdocs/aklion/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php on line 295, referer: http://aklion.ru/blog.htm
[Sat Mar 27 18:46:57 2010] [error] [client 188.122.251.102] PHP Warning: imagecreatetruecolor() [<a href=’function.imagecreatetruecolor’>function.imagecreatetruecolor</a>]: Invalid image dimensions in /storage/home/srv13996/htdocs/aklion/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php on line 428, referer: http://aklion.ru/blog.htm
[Sat Mar 27 18:46:58 2010] [error] [client 188.122.251.102] PHP Warning: Division by zero in /storage/home/srv13996/htdocs/aklion/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php on line 282, referer: http://aklion.ru/blog.htm
[Sat Mar 27 18:46:58 2010] [error] [client 188.122.251.102] PHP Warning: Division by zero in /storage/home/srv13996/htdocs/aklion/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php on line 295, referer: http://aklion.ru/blog.htm
[Sat Mar 27 18:46:58 2010] [error] [client 188.122.251.102] PHP Warning: imagecreatetruecolor() [<a href=’function.imagecreatetruecolor’>function.imagecreatetruecolor</a>]: Invalid image dimensions in /storage/home/srv13996/htdocs/aklion/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php on line 428, referer: http://aklion.ru/blog.htm

Запрет на доступ в Dashboard

Как запретить доступ в Dashboard для пользователей Subscriber и разрешить админам и редакторам?
Как это сделать?

in_category несколько значений

Такая проблемка:

есть в вордпресе функция <?php if (in_category()) { ?>

если задать так in_category(1,10) то условие применится для категорий 1 и 10

мне значения 1,10 нужно вынести в отдельное место.

например так <?php if (in_category($mytheme[‘cattun’])) { ?>

в $mytheme[‘cattun’]) я через админку задаю значения.

так вот если я там напише просто 1 или 10, то все работает, если запишу 1,10 то не работает

может я что-то где-то не так передаю…

если я делаю запрос echo $mytheme[‘cattun’]); , то все гуд выводится 1,10

странно что если в ручную, то работает, а так нет, может чет не так передаю или что?..

А можно ли сделать рейтинг фото?

А можно ли сделать рейтинг фото в галлерее NextGEN Gallery. То есть узнать какие фото чаще всего просматривают.

Картинка когда нет картинки

Простите, если где-то уже была тема, не нашла.
Возможно ли сделать чтобы вместо удаленной картинки в посте вставала стандартная, что-то типа "изображение отсутствует"

Сортировать по дате в Custom Fields

Всем доброго времени суток. У меня такая проблема…
Буду благодарен, если поможете решить.

Честно говоря я удивлён, что данная проблема ещё не обсуждалась, искал googl ом на данном форуме, прошерстил все 29 страниц plagin ов на wordpress.org
Нигде ничего похожего.

Дано:
Есть записи, в которых содержится информация о некотором событии (выставке).

У каждой такой записи есть поля ( Custom Fields ) – Дата начала, и Дата конца. Эти «даты» имеют формат 04.11.2010 (дд.мм.гггг).

Задача:
Выводить эти записи в порядке значения поля «Дата начала».

Проблема:
Как многие из вас знают, WP хранит значения полей Custom Fields в строковом формате. Посему правильно работающей сортировки по дате из строки не получится. На сколько я знаю, стандартные методы сортировки в WP основаны на сортировке по строковым переменным. Поэтому ни один из предложенных на http://www.sonika.ru/blog/wordpress/custom-fields-wordpress.htm приёмов не проходят. Присматривался к «Пример 11», «Пример 12», «Пример 14». Но ни один, как мне кажется, мне не подходит.
Для начала я решил попытаться перевести строковое значение даты в формат даты, это у меня успешно получилось. Делал я это в цикле вывода поста, использовал:

$date_start_str = get_post_meta($post->ID, "Выставка дата начала", true);
if (!empty($date_start_str))
{print_r(date_parse_from_format("d-m-Y", $date_start_str));}

Мне кажется, дальше можно копать, но я никак не могу понять – где же производить сортировку, и как потом выводить Отсортированные записи по одной.

Заранее благодарен за помошь.

Неактивная ссылка на страницу

Доброго времени дня. Есть меню навигации по страницам блога. Реализована с помощью горизонтального списка li, где самой ссылкой служит не текст, а блок (a {display:block}). Нужно сделать так, чтобы ссылка (блок), на ту страницу, на которой мы находимся не была активной, то есть только текст и неактивный блок, по которому нельзя было бы нажать, что бы вновь попасть на ту же страницу. И при этом ссылка (блок) должна иметь определенный стиль отображения. Второй аспект задачи мне подсказали решить стилем для WP .current_page_item что очень здорово помогло. Но вот как убрать саму ссылку из меню? Спасибо.

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