Небольшая проблема с Ajax-comments

При добавлении комментария, он добавляется, но выше выпадает следующее сообщение

Warning: Missing argument 1 for AntiSpamImage::checkCode(), called in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 166 and defined in /home2/statist/public_html/wp-content/plugins/anti_spam_image.php on line 64

Warning: Cannot modify header information - headers already sent by (output started at /home2/statist/public_html/wp-content/plugins/anti_spam_image.php:64) in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 207

Warning: Cannot modify header information - headers already sent by (output started at /home2/statist/public_html/wp-content/plugins/anti_spam_image.php:64) in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 208

Warning: Cannot modify header information - headers already sent by (output started at /home2/statist/public_html/wp-content/plugins/anti_spam_image.php:64) in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 209

При просмотре через Dreamweaver в этих строках файла ajax-comments нижеследующее

    setcookie('comment_author_' . COOKIEHASH, '', time() - 30000000, COOKIEPATH, COOKIE_DOMAIN);
    setcookie('comment_author_email_' . COOKIEHASH, '', time() - 30000000, COOKIEPATH, COOKIE_DOMAIN);
    setcookie('comment_author_url_' . COOKIEHASH, '', time() - 30000000, COOKIEPATH, COOKIE_DOMAIN);

В anti_spam_image.php:64 нижеследующий

    function checkCode($code){
        global $wpdb, $user_ID, $_POST, $_SESSION, $comment_type;

Последние записи в error_log

[15-Mar-2008 11:14:41] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home2/statist/public_html/wp-content/plugins/anti_spam_image.php:64) in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 207
[15-Mar-2008 11:14:41] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home2/statist/public_html/wp-content/plugins/anti_spam_image.php:64) in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 208
[15-Mar-2008 11:14:41] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home2/statist/public_html/wp-content/plugins/anti_spam_image.php:64) in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 209
[15-Mar-2008 13:15:37] PHP Warning:  Missing argument 1 for AntiSpamImage::checkCode(), called in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 166 and defined in /home2/statist/public_html/wp-content/plugins/anti_spam_image.php on line 64
[15-Mar-2008 13:15:38] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home2/statist/public_html/wp-content/plugins/anti_spam_image.php:64) in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 207
[15-Mar-2008 13:15:38] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home2/statist/public_html/wp-content/plugins/anti_spam_image.php:64) in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 208
[15-Mar-2008 13:15:38] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home2/statist/public_html/wp-content/plugins/anti_spam_image.php:64) in /home2/statist/public_html/wp-content/plugins/ajax-comments/ajax-comments.php on line 209

Подскажите пожалуйста в чем может быть дело

Заранее благодарен

Длинные URL и список последних комментариев

Добрый день!

Обрезаю длинные URL в комментариях следующим плагином:

<?php
/*
Plugin Name: Chunk Urls for WordPress
Plugin URI: http://www.village-idiot.org/archives/2006/06/29/wp-chunk/
Description: This plugin shorten urls in comments so that they won’t break your site.
Author: whoo
Version: 2.0
Author URI: http://www.village-idiot.org/
*/

function make_chunky($ret)
{

// pad it with a space
$ret = ‘ ‘ . $ret;
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "$1<a href=’$2′ rel=’nofollow’>$2</a>", $ret);
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "$1<a href=’http://$2′ rel=’nofollow’>$2</a>", $ret);
//chunk those long urls
chunk_url($ret);
$ret = preg_replace("#(\s)([a-z0-9\-_.]+)@([^,< \n\r]+)#i", "$1<a href=\"mailto:$2@$3\">$2@$3</a>", $ret);
// Remove our padding..
$ret = substr($ret, 1);
return($ret);
}

function chunk_url(&$ret)
{

$links = explode(‘<a’, $ret);
$countlinks = count($links);
for ($i = 0; $i < $countlinks; $i++)
{
$link = $links[$i];

$link = (preg_match(‘#(.*)(href=")#is’, $link)) ? ‘<a’ . $link : $link;

$begin = strpos($link, ‘>’) + 1;
$end = strpos($link, ‘<‘, $begin);
$length = $end – $begin;
$urlname = substr($link, $begin, $length);

/*
* We chunk urls that are longer than 50 characters. Just change
* ’50’ to a value that suits your taste. We are not chunking the link
* text unless if begins with ‘http://’, ‘ftp://’, or ‘www.’
*/

$chunked = (strlen($urlname) > 50 && preg_match(‘#^(http://|ftp://|www\.)#is’, $urlname)) ? substr_replace($urlname, ‘…..’, 30, -10) : $urlname;
$ret = str_replace(‘>’ . $urlname . ‘<‘, ‘>’ . $chunked . ‘<‘, $ret);

}
}
remove_filter(‘comment_text’, ‘make_clickable’);
add_filter(‘comment_text’, ‘make_chunky’);
?>

Вывожу список последних комментариев в сайдбаре следующим плагином:

<?php
/*
Plugin Name: Recent Comments
Plugin URI: http://mtdewvirus.com/code/wordpress-plugins/
Description: Retrieves a list of the most recent comments.
Version: 1.18
Author: Nick Momrik
Author URI: http://mtdewvirus.com/
*/

function mdv_recent_comments($no_comments = 5, $comment_lenth = 5, $before = ‘<li>’, $after = ‘</li>’, $show_pass_post = false, $comment_style = 0) {
global $wpdb;
$request = "SELECT ID, comment_ID, comment_content, comment_author, comment_author_url, post_title FROM $wpdb->comments LEFT JOIN $wpdb->posts ON $wpdb->posts.ID=$wpdb->comments.comment_post_ID WHERE post_status IN (‘publish’,’static’) ";
if(!$show_pass_post) $request .= "AND post_password =” ";
$request .= "AND comment_approved = ‘1’ ORDER BY comment_ID DESC LIMIT $no_comments";
$comments = $wpdb->get_results($request);
$output = ”;
if ($comments) {
foreach ($comments as $comment) {
$comment_author = stripslashes($comment->comment_author);
if ($comment_author == "")
$comment_author = "anonymous";
$comment_content = strip_tags($comment->comment_content);
$comment_content = stripslashes($comment_content);
$words=split(" ",$comment_content);
$comment_excerpt = join(" ",array_slice($words,0,$comment_lenth));
$permalink = get_permalink($comment->ID)."#comment-".$comment->comment_ID;

if ($comment_style == 1) {
$post_title = stripslashes($comment->post_title);

$url = $comment->comment_author_url;

if (empty($url))
$output .= $before . $comment_author . ‘ on ‘ . $post_title . ‘.’ . $after;
else
$output .= $before . "<a href=’$url’ rel=’external’>$comment_author</a>" . ‘ on ‘ . $post_title . ‘.’ . $after;
}
else {
$output .= $before . ‘<strong>’ . $comment_author . ‘:</strong> <a href="’ . $permalink;
$output .= ‘" title="View the entire comment by ‘ . $comment_author.’">’ . $comment_excerpt.'</a>’ . $after;
}
}
$output = convert_smilies($output);
} else {
$output .= $before . "None found" . $after;
}
echo $output;
}
?>

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

Как сделать ссылку на другой сайт

Подскажите, как можно в колонке "страница" в sidebar сделать ссылку которая будет вести на другой сайт. Что и где для этого нужно изменить?

Перевод плагинов.

Хочу перевести один плагин на русский язык. В файле языка строки идут примерно так:

msgid "<a href='%s'>My Amazon Wishlist</a>"
msgstr ""

msgid "Your Submissions Page"
msgstr ""

И так далее. Если я вместо английского текста вставляю русский, то ничего не происходит. Пожалуйста, поясните, как нормально переводить плагины?

Плагин Кто сейчас на сайте

Подскажите пожалуйста кто-нибудь. Есть ли такой Плагин Кто сейчас на сайте, т.е. Сколько гостей, ботов, пользователей и т.д.
Заранее всем благодарен

LJ кросспост 2

Добрый вечер. У меня после попытки обновить настройки плагина и експортировать все записи в ЖЖ выдает такую штуку: Something went wrong – 200 : Client error: Missing required argument(s) . Какие соображения будут у профи? (Версия 2.3.3 uk / LiveJournal Crossposter 2.0)
Спасибо.

Посоветуйте плагин для картинок

Посоветуйте плагин для картинок со следующим функционалом:

1) Позволяет добавлять галереи в пост;
2) Делает превьюшки;
3) Каждая превьюшка ведет на отдельную страницу с картинкой.

Такой плагин реализован здесь – http://www.kineda.com/scarlett-johansson-is-playboys-sexiest-celebrity-of-the-year/ – но что это за плагин понять сложно.

Спасибо.

часть навигации

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

Я создал:
Страница А

  • подстраница 1
  • подстраница 2

Как сделать так, чтобы на странице А выводились ссылки на её подстраницы?
т.е. хотелось бы, чтобы при создании подстраниц для страницы А, на странице А выводилась бы навигация для ее подстраниц.
Спасибо

решение проблем с 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;
            }

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

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

Поиск к нечему дельному меня не привёл.
Вопрос в следующем хочу сделать в чтобы в сайдбаре вместе с названием поста выводилась любая thumbs картинка из папки с картинками для этого поста.
Вот примерно как это выглядит http://www.9linesmag.com/ центральная колонка!

Догадываюсь что достаточно например создавать папку с картинками с тем же названием что и название поста и где нибудь в луп написать код
(НАПРИМЕР) site.ru/wp-content/gallery/<?php %postname% ?>/thumbs/thumbs_1.jpg
И каждый раз просто при создании катринок делать картинку с названием 1.jpg

А теперь вопрос: так каким же кодом можно вызывать картинку из папки с идентичным названием как у поста?

Я канечто не первый кто об этом думал и наверняка есть куча решений этого вопроса совсем другим методом, пожалуйста ткните меня носом в готовый ответ :rolleyes:

Спасибо!

wp_pagenavi и ЧПУ

Пайдж нави отказывается работать (не выводит посты со следующих страниц) если

 /%category%/%postname%/

или

/%category%/%monthnum%/%postname%/

Зато прекрасно работает с

/%category%/%year%/%monthnum%/%day%/%postname%/

Вопрос: реально как нибудь реализовать показ ЧПУ в виде /рубрика/название поста и чтоб при этом работал wp_pagenavi? Насколько я понял это не пейджнави тупит а вордпрес не может найти постов по его запросу.

Спасибо!

окончательный перевод simple forum

после установки и руссификации simple forum остались не переведенными некоторые слова например Search, Profile
как их перевести ?

Что за плагин?

Доброе утро!

Вот тут очень нормальный плагин по подписке на новости:

Ссылки для поиска работы в Таиланде

Контактов автора не нашёл – хочу спросить – что это за плагин? Где взять? Спасибо!

Странное в нумерации записей

Сегодня заметил странную вещь, размещая несколько статей подряд на своем сайте.

Ссылка View post, появляющаяся после публикации предварительно не сохраненного материала, почему-то вела не на только что опубликованный материал, а на предыдущий. Также почему-то после публикации статьи с номером 505 была опубликована следующая статья с номером 491.

Это конечно не смертельно, но все-таки…

Некоторые плагины не ставяться.

Я сначала тестировал сайт на локальном сервере. Потом решил сделать тоже самое на удаленном.
Не стал переносить все, потому-что очень сильно намусорил в папке. И плагины стал устанавливать по-одному.
Чуть в том, что плагин CyStat и All-in-one-seo-pack не ставятся. При попытке установить их вордпресс долго думает и выдает белую страницу. После этого пока не удалишь плагин попасть в админку невозможно.
У меня на этом же сервере стоят оба этих плагина и на такой же версии вордпресса, а тут не хотят ставиться и все тут. Даже вордпресс переставлял уже. Как быть? Скажите, пожалуйста.

Скртие элементовов при добавление записи автором.

У меня есть блог, в котором при регистрации человек получает статус участник и может добавлять новые посты. Как при добавление нового поста для участников скрыть такие формы, как "пароль на запись", "загрузка", "дата записи" и т.п.
Например только админ видит форму "автор записи". А как скрыть некоторые формы для участников?
Заранее спасибо.

свойство post_excerpt

Здравствуйте!
не пойму: the_excerpt() работает, а при вызове метода post_excerpt НИЧЕГО не выводится, вот код:

<?php
$posts_new = get_posts('category=11&numberposts=3');

foreach ($posts_new as $post_new) :
echo '<h2><a href="'; 
echo get_permalink($post_new->ID);
echo '">';
echo $post_new->post_title;
echo '</a></h2>';

//Закомментил, тк excerpt'у это не нужно...
//if ( preg_match('/<!--more(.*?)?-->/', $post_new->post_content, $matches) )
//list($post_new->post_content,$junk) = explode($matches[0], $post_new->post_content, 2);

echo $post_new->post_excerpt;
endforeach;
?>

или в get_posts нет post_excerpt ??…

Пропадают рубрики.

Создаю новую рубрику, пишу описание, название и т.д. Добавляю. Она отображается в списке рубрик, но только до первого обновления страницы. Потом ее просто нет и на самом сайте тоже не видно. А при написании поста их все видно, но оттуда уже пропали все подрубрики. что за мистика может быть?
WP 2.3.3 грешил на этот плагин: http://dimox.name/wordpress-plugin-article-directory/ но если удалить, то ситуация не меняется.
Других плагинов не установленно.

Размер сайдбара

Как можно расширить ширину сайдбара?

Как избавиться от htaccess

Добрый день.
Столкнулся с такой проблемой. Установил каталог ссылок на сайт, для авторизации в каталог используется файл htaccess (далее htaccess-cat) тот что в админке каталога. Но он не работает, так как ему мешает файл htaccess который в корне сайта WP (далее htaccess-wp).

Просто удалить htaccess-wp нельзя, так как ЧПУ не работает без него. Возможно, есть какие то способы, что бы не было корне этого htaccess-wp и при этом ЧПУ, и сайт в целом, продолжал работать?

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