Archive for the ‘Wordpress’ Category
Sunday, November 14th, 2010 |
Было бы неплохо добавить автоматический кроспостинг записей блога на фэйсбук и твиттер, подумал я ранним воскресным утром. Следующая мысль пролетевшая в разогнанной кофеином голове была – “нужно погуглить”. Тщательные исследования поисковых систем выявили насколько вариантов, при ближайшем рассмотрении несколько сразу отвалились и выбирать осталось не из чего.
Вообщем есть отличный плагин для организации сабмита постов в фэйсбук и твиттер (и попутно еще в тучу социальных сетей) – Network Publisher.
Регистрация пролетела за пару кликов (Sign Up with Facebook). OAuth когда ты залогинен на фэйсе или твиттере решает. Вообщем внутри все просто добавляешь аккаунты + привязываешь блоги. Как я понял часть социальных сетей можно добавить за отдельную плату + есть ограничения на максимальное количество постов – 200, что как бе дохуя. Больше, чем может понадобится для этого блога в сутки. А еще сервис предоставляет API – http://apidocs.linksalpha.com/home/getting-started API очень простое (пост запрос + json ответ):
Summary
Enables Publishing of content to Networks
URL
http://api.linksalpha.com/ext/publish
Request Method
POST
Response Format
json
Required Parameters
* api_key
API key of the Network to which content needs to be published to
* content_text
content that you want to post to the Network
Я бы даже сказал типичное API, в ближейшее время напишу пост как писать обертки для апи подобного типа на Python используя pycurl.
В итоге после нехитрых манипуляция я поставил и настроил этот плагин – результаты можно посмотреть на моем твиттере и фэйсбуке.
Posted in Notes, social networks, Wordpress | No Comments »
Saturday, August 21st, 2010 |
Коллекция качественных земов для вордпресс. Все более-менее свежее.
Смотреть тут.
Posted in Notes, Wordpress | No Comments »
Thursday, March 11th, 2010 |
Популярный плагин для создания галлерей в блоге – WP NextGen выдает ошибку при загрузке больших фотографий. Если конкретнее – спотыкается на этапе создания тумб (Thumbnails) из загруженных файлов. Сообщение такое вида : (Error : Exceed Memory limit. Require : 34.85 MByte)
Решение проблемы нашел тут.
Все просто, нужно открыть файл :
/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php
найти и раскомментировать строчку :
@ini_set('memory_limit', '128M');
Короче решение очевидно на самом деле.
Posted in Wordpress | No Comments »
Wednesday, March 10th, 2010 |
Класс описанный в статье “Постинг в WordPress” позволяет прикрепить к посту уже созданные категории, что как бы несколько неудобно если их нужно создавать динамически. Это можно сделать через WordPress API (по XML-RPC), но в библиотеке эта функция не реализованна, впрочем как и многие другие. Пришлось написать самому :
import xmlrpclib
def uniq(input):
output = []
for x in input:
if x not in output:
output.append(x)
return output
def getCategories(blog_url, blog_user, blog_pwd):
_server = xmlrpclib.ServerProxy(blog_url)
cat = _server.wp.getCategories(1, blog_user, blog_pwd)
categories = []
for item in cat:
categories.append(item['categoryName'].replace("&", "&"))
return categories
def addCategories(blog_url, blog_user, blog_pwd, categories):
_server = xmlrpclib.ServerProxy(blog_url)
categories = uniq(categories)
created_cat = getCategories(blog_url, blog_user, blog_pwd)
for item in categories:
itm = item.replace("&", "&")
if (itm not in created_cat):
post_name = itm
post_slug = itm.replace(" ", "-")
post_slug = post_slug.replace("&", "")
post_parent_id = 0
post_description = itm
catStructure = {'name' : post_name,
'slug' : post_slug,
'parent_id' : post_parent_id,
'description' : post_description}
category_id = _server.wp.newCategory(1, blog_user, blog_pwd, catStructure)
Подобный образом можно реализовать вызов практически любого документированного метода. btw разработчики вордпресса сильно отстают с документацией, поэтому проще посмореть исходный код файла xml-rpc.php в последней сборке вордпресса, чтобы быть в курсе. Я так понимаю, используя вордпрессовскую реализацию metaWeblog API (metaWeblog.newPost) можно добавлять еще и тэги к посту, но саму функцию вроде addTags я не нашел, к сожалению.
Вот так это выглядит на практике :
wp_cat.addCategories(category)
cats_id = []
for item in category:
if (wp.getCategoryIdFromName(item) <> None):
cats_id.append(wp.getCategoryIdFromName(item))
post.categories = tuple(uniq(cats_id))
idPost = wp.newPost(post, True)
Где wp – это экземпляр класса wordpresslib, а category – это список категрий в виде списка – ['look', 'here']. Типа того, вообщем разобраться несложно.
Posted in Code, Python, Wordpress | No Comments »
Tuesday, August 18th, 2009 |
Частенько вебмастера балуются автоблогами, некоторые делают это хорошо, некоторые штампуют откровенный шлак по типу дорвеев и репостилок фидов, вообщем не суть, я бы посоветовал подумать и делать хорошо, чтобы потом не жаловаться на гугл. Но для того, чтобы реализовать подобное нужно уметь запостить в свой же блог, задача не сложная, но тем не менее ей нужно уделить какое-то время, рассекая просторы интернетов наткнулся на уже готовое решение, которое позволит сделать все элегантно и с минимальными усилиями :
import wordpresslib
url = 'http://www.mysite.com/wordpress/xmlrpc.php'
wp = wordpresslib.WordPressClient(url, 'username', 'password')
wp.selectBlog(0)
post = wordpresslib.WordPressPost()
post.title = 'Post title'
post.description = 'Post content'
idPost = wp.newPost(post, True)
Заявленные функции :
- Создание новых постов
- Редактирование старых
- Публикация “черновиков” (т.е. ранее сохраненных но неопубликованных)
- Удаление постов
- Изменение категорий привязанных к посту
- Информация по блогу и пользователям
- Загрузка мультимедиа файлов (фотографии & видео)
- Получить последний пост/пинги/трекбэки
Posted in Python, Wordpress | 1 Comment »