Появилась необходимость кросспостиь ся на wordpress.org… все же одна из популяпных блого-площадок…. все оказалось не просто….но реализуемо, хоть и через ж*… ну вобщем как обычно.

Ест такой плагин Wp2Wp, он должен постить в другие блоги на WordPress, настроек там 3 строчки, все прозрачно…. но было одно но. Активация плагина убивала WordPress наглухо. с Собщением типа”class-IXR.php уже загружен и конфликт убил ваш блог”. Размышления на эту тему привели меня к другому плагину, который, как я смутно помнил, тоже юзает эту технологию (XML-RPC) – LiveJournal Crossposter (Lp-xp). Сравнеине кода обоих плагинов подтвердило эту мысль, в итоге в одном из них я просто закоммнетил строку вида

include(ABSPATH.WPINC.”/class-IXR.php”); (Wp2Wp)

require_once(ABSPATH . ‘/wp-includes/class-IXR.php’);(Lj-xp)

После этого оба плагина согласились жить вместе…. но посты шли только в LJ, независимо от того, где я комментил строку.

Дальнейшие изыскания привели к простому коду, который должен был бы постить в wordpress.com

<?php
include(“./wp-includes/class-IXR.php”);
$client = new IXR_Client(‘http://BLOGNAME.wordpress.com/xmlrpc.php’);
echo ‘Connection established <br>’;

$content['post_type'] = ‘post’;
$content['title'] = ‘Test Entry using MetaWeblog API’;
$content['description'] = ‘<p>Hello World!</p>’;

if (!$client->query(‘metaWeblog.newPost’,0, ‘LOGIN’,'PASSWORD’, $content, true)) {
die(‘An error occurred – ‘.$client->getErrorCode().”:”.$client->getErrorMessage());
}
echo $client->getResponse();
?>

но это не работало. точнее это работало на других сайтах с WordPress, но не работал именно на wordpress.com

Вторая возможность кросспостинга в WordPress – это Posting via E-Mail, т.е. шлем письмо на определнный адрес – в блоге появляется пост. Такая же технология применяется для кросспостинга в Blogger.com, реализуется плагином CrossPress.

Но тут меня снова ждал жестокий облом. В Blogger.com посты уходят в WordPress.com нет.

WTF?! подумал я….

При этом письмо с почтового ящика админа (тот что указан в настройках wordpress) отлично генерировало пост.

Всю ночь мне снилось, что япереписываю плагины кросспостинга ))). На утро пришла здравая мысль, что возможно все письма с более чем одним адресатом wordpress.com считает спамом и фильтрует. Просмотр кода CrossPress подтвердил идею, о том, что посылается всего одно письмо со списком адресов

function getValidAddress($list)
{
$list = nl2br($list);
$order = array(‘<br>’, ‘<br/>’, ‘<br />’);
$replace = ‘,’;
//remove new line
$list = str_replace($order,$replace,$list);
//clear white space
$list = str_replace(‘ ‘,”, $list);
return $list;
}

Тут на выходе получается список адресов черз запятую и далее

/sending mail
mail($to, $subject, $msg, $headers);

Как временный шаг был сделан вот такой Work-around

/sending mail
mail($to, $subject, $msg, $headers);
mail(‘SECRETADDRESS@post.wordpress.com’, $subject, $msg, $headers);

Естественно адрес блога на wordpress убран из настроек CrossPress. Теперь посылается 2 письма – во все блоги кроме WordPress и отдельнео на WordPress.com – так все работет.

З.Ы.

Ах да.. wordpress.com убрал все настройки касаемо xml-rpc и posting-via-email. И о том, что они разрешены для всех – я узнал только из форума саппорта.

З.З.Ы. пока писал пост пришла идея как пофиксить кросспостинг в blogger.com – там пропадают абзацы…

Поделиться в соц. сетях

0

3 Comments for this entry

  • I know this site offers quality dependent content and extra material, is there any other web site which provides these data in quality?

  • Roosevelt says:

    Howdy would you mind letting me know which web host you’re utilizing? I’ve loaded your blog in 3 different browsers and I must
    say this blog loads a lot quicker then most. Can you suggest a good hosting provider at a fair price?
    Kudos, I appreciate it!

  • I drоp а leaѵe a rеsponse each ime I especially enjօy a article on a site oг if I
    have somethіոg to add to the discussion. Usually it’s a result of the passin displayed in the article I browsed.
    And on this arrticle Кросспостинг returns

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

Blowjob