stfalcon

Новая тема Snowberry

Доброго времени суток.

Хочу предложить вашему вниманию нашу тему Snowberry.

Тема поддерживает виджеты и сменные изображения в шапке. Распространяется бесплатно и доступна для скачивания с GitHub.

Надеюсь она вам понравится 😉

где есть перевод документации с http://codex.wordpress.org

Доброго времени суток. Читаю языком оригинала документацию с http://codex.wordpress.org
Уже мозги сломал переводить… Никто не подскажет где можно перевод найти?
Конкретно меня интересуют разделы:
http://codex.wordpress.org/Plugin_Resources
http://codex.wordpress.org/Blog_Design_and_Layout
http://codex.wordpress.org/WordPress_Lessons

спасибо 🙂

решение проблем с wp-cache

Всем привет!
Я вчера полдня игрался с установкой wp-cache на локальную машину, а потом на сервер. И вот решил поделиться опытом.

Локальная машина: Apache/1.3.33 (Win32) PHP/4.4.4 WordPress 2.3.3
Сервер: Apache/2.0.52 (CentOS) PHP/5.2.0 WordPress 2.0.10

Несколько слов о wp-cache. Это плагин который предназначен для кеширования динамических страниц. В настройках можно указывать список скриптов чью выдачу нужно кешировать и время жизни кеша.

Для того чтобы запустить плагин с полпинка нужно:
1. скачать плагин http://wordpress.org/extend/plugins/wp-cache/
2. создать папку wp-content/plugins/wp-cache и скопировать туда содержимое скачанного архива
3. активировать плагин
Это в идеале :). Если что то не получается рекомендую почитать README.txt из того же архива.

В общем не знаю у кого как а у меня это дело с полпинка не запустилось и пришлось искать причину.
На этом форуме я прочитал, что нужно в wp-config.php прописать.

define('WP_CACHE', true);

Прописываем. Когда эта константа установлена в TRUE, тогда движок подхватывает кеширующий скрипт:

// For an advanced caching plugin to use, static because you would only want one
if ( defined('WP_CACHE') )
    @include ABSPATH . 'wp-content/advanced-cache.php';

Для того чтобы переадресовать этот вызов на UNIX сервере достаточно создать символьную ссылку:

ln -s wp-content/plugins/wp-cache/wp-cache-phase1.php wp-content/advanced-cache.php

Но как быть если сервер не UNIX или если у нас недостаточно прав для создания символической ссылки? Создаем файл wp-content/advanced-cache.php, который подключает plugins/wp-cache/wp-cache-phase1.php

<?php
require_once(ABSPATH . 'wp-content/plugins/wp-cache/wp-cache-phase1.php');
?>

Точно не помню, но помоему именно в этот момент я увидел ошибку подключения. Проблема была в том что в ABSPATCH были и обратные и прямые слэши. Для того чтобы это поправить я в wp-config.php немного изменил определение константы ABSPATCH:

$dirpath = str_replace('\\','/',dirname(__FILE__).'/');
define('ABSPATH', $dirpath);

Вроде вызов переадресовали, но нехватает конфига. Переименовываем (или копируем) файл wp-content/plugins/wp-cache/wp-cache-config-sample.php в wp-content/wp-cache-config.php.
Все, порядок. Заходим в админку, активируем плагин и переходим на страницу настройки/wp-cache. Она пустая… В файле wp-content/plugins/wp-cache/cache.php есть функция проверки существования символической ссылки – wp_cache_check_link(). Немного меняем код функции:

function wp_cache_check_link() {
    global $wp_cache_link, $wp_cache_file;

    if (file_exists($wp_cache_link)) {
        return true;
    }
    
    if ( basename(@readlink($wp_cache_link)) != basename($wp_cache_file)) {
        @unlink($wp_cache_link);
        if (!@symlink ($wp_cache_file, $wp_cache_link)) {
            echo "<code>advanced-cache.php</code> link does not exist<br />";
            echo "Create it by executing: <br /><code>ln -s $wp_cache_file $wp_cache_link</code><br /> in your server<br />";
            return false;
        }
    }
    return true;
}

Теперь она сначала проверяет существование файла, а потом ссылки. Все. Админка должна заработать. Видим надпись "WP-Cache is Disabled" -> включаем wp-cache "Enable it" (или можно прописать $cache_enabled = true; в wp-content/wp-cache-config.php).

И напоследок ещё несколько условий необходимых для работы плагина:
– необходимо отключить поддержку g-zip сжатия в настройки/чтение
– на Unix серверах должен быть доступ к записи на файл wp-content/wp-cache-config.php (чтобы менять настройки кеширования из админки) и на папку wp-content/cache (сюда записываются все закешированые файлы).

Должно работать. Правда у меня была ещё одна проблема – страницы кешировались, но с кеша не читались, каждый раз генерировались заново. Оказалось что кеш выводиться функцией readfile, которая на сервере была отключена в целях безопасности. Вот этот кусок кода:

            if(!@readfile ($cache_file)) 
                return;

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

            if (file_exists($cache_file)) {
                $content = file_get_contents($cache_file);
                echo $content;
            } else {
                return;
            }

Надеюсь эта тема кому то поможет ;).

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