Обсуждения

Архитектура wp или о плагинах

Столкнулся с такой проблемой, многие плагины в wordpress делают запросы к БД и "висят" в памяти. Но многие из плагинов используются только, скажем, на странице с одиночной записью, в то время как на главной странице может делаться дополнительный запрос(ы) к БД. Можно ли как-то сделать для плагина условие, вроде "условных тегов" is_home()? Или в самом движке или правкой кода плагина.

Насколько я понял проверка типа страницы выполняется позже загрузки плагинов в ВП и грузится в файле query.php, который загружается уже после загрузки plugin.php.

Можно ли это как-то исправить или решить проблему другим путем или архитектура ВП это не позволяет сделать?

как переделать виджет в мульти?

имеется тема – magazine-basic, которой используется виджет ‘Feature Post". К сожалению возможность его использовать только один раз. А я хочу чтобы можно было использовать этот виджет несколько раз.

Как переделать его в мульти?

<?php
function widget_sideFeature2() {
    $options = get_option("widget_sideFeature2");
     $numberOf = $options['number'];
    $category = $options['category'];
    $category = "&cat=" . $category;
    $showposts = "showposts=" . $numberOf . $category ;
    ?>
    <?php
    $featuredPosts = new WP_Query();
    $featuredPosts->query($showposts);
    ?>
    <?php $i = 1; ?>
    <?php while ($featuredPosts->have_posts()) : $featuredPosts->the_post(); ?>
    <h1 class="side"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
        <div class="meta">
            By <?php the_author() ?>
        </div>
        <div class="storycontent <?php if($numberOf == $i) { echo "noline"; } $i++; ?>">
            <?php theme_excerpt('25'); ?>
        </div>
        <?php
        endwhile;
}

function widget_myFeature2($args) {
    extract($args);

    $options = get_option("widget_sideFeature2");

    echo $before_widget;
    echo $before_title;
    echo $options['title'];
    echo $after_title;
    widget_sideFeature2();
    echo $after_widget;
}

function myFeature2_control()
{
  $options = get_option("widget_sideFeature2");

  if (!is_array( $options ))
    {
        $options = array(
        'title' => 'Feature',
        'number' => '1',
        'category' => '0'
        );
  }

  if ($_POST['sideFeature2-Submit'])
  {
    $options['title'] = htmlspecialchars($_POST['sideFeature2-WidgetTitle']);
    $options['number'] = htmlspecialchars($_POST['sideFeature2-PostNumber']);
    if ( $options['number'] > 5) {  $options['number'] = 5; }
    $options['category'] = htmlspecialchars($_POST['sideFeature2-Category']);

    update_option("widget_sideFeature2", $options);
  }

?>
  <p>
    <label for="sideFeature2-WidgetTitle">Title: </label><br />
    <input class="widefat" type="text" id="sideFeature2-WidgetTitle" name="sideFeature2-WidgetTitle" value="<?php echo $options['title'];?>" />
    <br /><br />
    <label for="sideFeature2-PostNumber">Number of posts to show: </label>
    <input type="text" id="sideFeature2-PostNumber" name="sideFeature2-PostNumber" style="width: 25px; text-align: center;" maxlength="1" value="<?php echo $options['number'];?>" /><br />
    <small><em>(max 5)</em></small>
    <br /><br />
    <label for="sideFeature2-Category">From which category: </label>
    <?php
    $options = get_option("widget_sideFeature2");
    $category = $options['category'];
    ?>
    <?php wp_dropdown_categories('name=sideFeature2-Category&selected='.$category); ?>
    <input type="hidden" id="sideFeature2-Submit" name="sideFeature2-Submit" value="1" />
    <p><small><em>(Note: The selected will be excluded from the main content on the index page)</em></small></p>
  </p>
<?php
}
register_sidebar_widget( 'Featured Post', 'widget_myFeature2');
register_widget_control( 'Featured Post', 'myFeature2_control');
?>

У всех комментариев один Ip сайта

После переноса сайтов на новый хостинг все комментарии пошли с одинаковым IP, сопадающим с тем, на котором расположен сайт. Сайтов несколько, WP разных версий – результат один. Опасаюсь будущих проблем с забаном злостных спамеров. В какую сторону копать?

Как вывести порядковый номер комента?

Здравствуйте.

Возникла необходимость вывести порядковый номер комментов.
Поискал в кодексе, погуглил но нашел лишь такой вариант (у меня не сработал) –

<?php comment_number(‘%’); ?>
That should give you just the number… If it doesn’t, try this:
<?php comment_number(‘0′,’1′,’%’); ?>

Это я что-то не правильно воткнул или действительно есть другое решение?

версия WP 2.6

где searchform.php в wordpress-2.8.3

а где в wordpress-2.8.3 в дефолтной теме searchform.php?
почему у меня поле поиска отображается как надо, а самого файла нету? я ее отредактировать хотела.
там же написано <?php get_search_form(); ?>
откуда что берется?

Проблема с добавлением медиафайлов

Добрый день!

Обращаюсь к вам, ибо даже Всемогущий Гугль не смог помочь мне в этой проблеме

Использую WP 2.8 и столкнулась со следующей проблемой на хостинге:
при нажатии на любую кнопку вставки медиа-файла WP отображает только пустое окошко, т.е. просто белый прямоугольник с заголовком.
Пошла на вкладку Медиафайлы > Загрузить новый медиафайл. На вкладке ошибка: "Fatal error: Call to undefined function media_upload_form() in /home/ak_salonkpd/salonkpd.com/http_root/wp-admin/media-upload.php on line 62"

На локальном сайте всё работает.

Подскажите, пожалуйста, как это можно полечить?

Ошибка

Перешел на новый хост и столкнулся с кучей ошибок! 🙁
1,Установил Wp 2.8.3 rus, админка на английском, но это не проблема! и раньше такое выходтло, я просто обновлял автоматически и все нормализовывалось, а тут, как только нажимаешт кнопку "Upgrade" вылазит ошибка:

Downloading update from http://ru.wordpress.org/wordpress-2.8.3-ru_RU.zip.

Download failed.: Could not create Temporary file

Installation Failed

Пробывал сднлать как написано вот тут: http://blog.rpsl.info/2009/05/automatic-upgrade-wordpress.html
Но и это не дало результатов

2, Хотел залить базу, через админку выдает ошибку:

If you have posts or comments in another system, WordPress can import those into this blog. To get started, choose a system to import from below:

Через phpmyadmin залил, подправил в опциях, но нету ни текста постов, ни названий!!!

Что делать не знаю!:(

Белый экран вместо админки

сразу после установки блога админка работает нормально
но после разрыва соединения при попытке зайти в wp-admin – белый экран. Смотрел, похожие проблемы у людей возникают, но четкого плана действий не видел. Хостинг – FirstVDS. WordPress-2.8.1-rus-lecactus-edition-powerpack

Первостепенная защита Php

Продолжаю изучение защиты сайта.

Недавно прочел несколько статей с предложением отключения некоторых функций PHP.
Но так как хостинг у меня только виртуальный и возможности править php.ini нет

Придется править .htaccess
Подскажите, поправте что не так. Что вкл а что выкл 🙂 ?
Вот несколько директив / функций которые как я понял желательно отключить:

safe_mode

  • проверяет владельца запущенного скрипта и если скрипт пытается открыть

какой-либо файл – делает это с правами этого владельца

php_admin_flag safe_mode on

register_globals
– Запретить создание глобальных переменных из пользовательского ввода

если включена, переменные GET, POST, Cookie, Server будут регистрироваться как глобальные переменные.
Если директива выключена, то глобальный доступ можно получить через массивы $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS

php_flag register_globals 0
php_value register_globals 0

allow_url_fopen
– запрет подключению сайта к удалённым страницам, скриптам.
это несколько замедлит работу программы – при каждом вызове *.php скриптов
будет происходить обращение к файлу .htaccess

    php_value allow_url_fopen 0
    php_flag allow_url_fopen 0

phpinfo
запретить опасные функции:

disable_functions=phpinfo,system,passthru,cmd

expose_php
– директива сообщает, может ли PHP оповещать пользователей о своем существовании на данном сервере, например, добавляя HTTP заголовок.

expose_php off

max_filesize
Ограничить размер загружаемого файла на сервер

upload_max_filesize = 2M

Ограничения на время работы

max_execution_time = 30

Отключить вывод ошибок
И включить директиву записи ошибок в лог-файл сервера.

В результате такого запроса, становится известен путь к скрипту и имя файла.
Если нет доступа к php.ini, можно добавить в начало скрипта строку error_reporting(0); это подавит вывод ошибок.

php_flag display_errors off
php_flag log_errors on
php_value error_log /home/ваш_путь/web/php_error.log
php_value error_reporting 2039

magic_quotes_gpc
– если включена, автоматически добавляет слеши к данным пришедшим от пользователя – из POST, GET запросов и cookie.

php_flag magic_quotes_gpc 0

magic_quotes_runtime
– если включена, автоматически добавляет слеши к данным, полученным во время исполнения скрипта – например, из файла или базы данных.

php_flag magic_quotes_runtime 0

Под вопросом:
php_value magic_quotes_sybase Off
php_value post_max_size 20M
php_value max_input_time 200

PS
Немного запутался в следующем:
1. safe_mode должен быть выключен или выключен?
2. функции должны включатся с помощью php_value или php_flag ? – поэтому некоторые примеры представлены в разных(двух) вариантах.
3. как включить некоторые функции в htaccess мне не удалось узнать поэтому они написаны в виде настроек для php.ini

Возврат на главную

Подскажите каким кодом можна сделать чтоб при нажатии на "Главная" сайт возвращался на первую стр сайта ?

Вызов нестандартных виджетов

Как вызвать в сайдбаре стандартные виджеты я знаю, а вот меня интересует вызов виджетов от различных плагинов… Например, WP-Polls. Копание успехов не дало.

Или, если не знаете, может скажете в какую сторону копать? 🙂

ошибка 404 – почти везде.

Ситуация такова:
Публикую запись – она появляется на главной странице, а когда нажимаю прочитать полностью – выдает ошибку 404, тоже самое когда хочу зайти в "Рубрики" или "Архив".
Как я понимаю почему-то неоздается страница внутреняя, но почему понять немогу.
Права стоят следующие:
Файлы 644
Папки 755
uploads 777

Помогите отредактировать шаблон!

Вот сайт http://www.gamebox.lv там с права поставлено видео мне надо расширить колонку для него. Пытался сам не нашел где. Напишите где и что изменить.

Как WordPress посылает письма?

Добрый всем день!

Прошу объяснить как WordPress посылает мне письма?
Я ничего не настраивал кроме адреса моей почты.
Как ему это удается?

ошибка

Всем доброго времени суток!!
Подскажите пожалуйста,у меня проблема…установил обновление wordpress потом обновил плагины…

Теперь вылезает такая фигня

Warning: main(wp-content/plugins/wp-shopping-cart/products_page.php) [function.main]: failed to open stream: No such file or directory in /home/dirigabli/dirigabli.ru/docs/wp-content/themes/default3/home.php on line 70

Warning: main() [function.include]: Failed opening ‘wp-content/plugins/wp-shopping-cart/products_page.php’ for inclusion (include_path=’.:/home/dirigabli/etc’) in /home/dirigabli/dirigabli.ru/docs/wp-content/themes/default3/home.php on line 70

((((

Вы можте увидеть это на сайте..прямо на главной по середине

www.dirigabli.ru

Что делать? и при переходе в "магазин" все в неправильной кодировке нет рисунков итд…
Заранее спасибо за помощь!

Меню блога с категориями

Задача: есть меню блога – стандартно страницы блога и плюс еще две ссылки на категории.
Требуется вывести эти ссылки на категории в меню с возможностью поменять порядок.

То есть, вариант с ручным прописыванием ссылок в меню не подходит, а фишка с тем, чтобы создать страницу и категорию с одинаковым slug’ом уже в вордпрессе 2.8+ не канает.
Плагин, что делает свое меню с использованием своих функций тоже не подходит, нужно, чтобы меню использовало именно wp_list_pages.

Порядок страниц меняю плагином My page Order.

Кто-то уже сталкивался с подобной задачей или может знает решение?

Галерея для Wp , нужна помощь

Здраствуйте.
У меня проблемы с исходящим траффиком(спутниковый интернет) и мне нужно фото показывать с другого сервера по ссылке или чтоб плаги сам закачивал нужную картинку по ссылке в нужную папку на фтп, как это можно реализовать в плагине NextGen или может посоветуете мне что-нибудь другое, или вообще просто плагин который закачивает файлы на фтп по ссылке минуя компьютер.
Спасибо всем.

Добавить поле в комментарий

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

Лишний закрывающийся тэг p

Приветсвую.
столкнулся с такой проблемой на связке wordpress 2.8.3 и плагине CodeColorer (при отключении плагина все нормально). При вводе текста в редакторе и публикации в коде страницы возникают лишние закрывающиеся тэги < p > . Появляются как раз перед блоком CodeColorer .
пример отображения тут http://dobrih.net/2009/03/redmine-apache-passenger-subversion-na-primere-gentoo/ если запустите валидатор кода. ну или для примера смотрите фразу "Проблем возникнуть не должно." (символично блин) . а тут http://dobrih.net/text.txt сам текст , который хранится в базе и так коряво форматируется.
опция "WordPress должен исправлять некорректный XHTML код автоматически" не установлена, да и если установлена тоже самое.

насколько я понимаю это проблема не плагина CodeColorer, он обрабатывает только свою часть и выдает её вордпресу. а вордперс что то неправильно делает

изменение sidebar’a

Добрый день!

Прошу помощи по изменению сайтбара. Стоит jillij шаблон http://www.jillij.com/.
Вопрос: как можно убрать то, что обозначено "!" и сделать как кнопка форум?

В данный момент сделано:
-Рубрика
-ссылка.

Нужно:
-ссылка

Зарание спасибо:)

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