Категории: PHP

Индивидуальное оформление виджетов для WordPress

Владимир | | PHP, Web разработка, WordPress.

wordpress widget styling

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

Сегодня я хочу показать прием, который позволяет назначить виджетам (которые находятся внутри одного сайдбара) индивидуальные CSS стили.

Прежде всего, разберемся, о каких именно стилях идет речь.

Вообще содержимое виджета и его разметка определяются разработчиком. Но для того, чтобы виджеты красиво вписывались в дизайн темы предусмотрены 4 параметра, которые должны использовать разработчики виджетов (по крайней мере в теории 🙂 ).

Эти параметры задаются разработчиком темы при создании сайдбара. Например, так:
Читать дальше

Обновление WordPress плагина Terms Descriptions

Владимир | | PHP, Web разработка, WordPress.

wp terms descriptions logo

Приветствую!

Сегодня выложил очередное обновление WordPress плагина Terms Descriptions.

Для тех, кто слышит о нём впервые, кратко объясню его назначение. Он позволяет создавать списки терминов, назначать им ссылки, автоматически искать термины и преобразовывать их в ссылки в ваших записях. Подробнее можно почитать здесь.

Т.е. принцип довольно простой и поставленная задача решается в полном объеме. Но предусмотреть всё практически не возможно, и пользователи постоянно предлагают хорошие идеи.

Последнее усовершенствование предложил Андрей Х.

Читать дальше

Конференции ZFConf Ukraine & MageConf

Владимир | | PHP, Web разработка.

Приветствую всех читателей!

Сегодня хочу просто поделиться хорошей новостью.

27 ноября (суббота) в Киеве пройдет совместная конференция ZFConf Ukraine & MageConf.

Подобные мероприятия — это в любом случае хорошо, но данная конференция выгодно отличается от большинства. Участие в ней бесплатное.

Тут нужно отдать должное организаторам. Я не знаю как они уговаривали спонсоров и искали докладчиков, но, думаю, это было непросто 😉

Конференция будет длиться один день и пройдет в три потока: Zend Framework, PHP, Magento.

Доклады будут на следующие темы.
Читать дальше

WordPress плагин Terms Descriptions. Новая версия.

Владимир | | PHP, WordPress.

wp terms descriptions logo

Приветствую всех!

Я всё-таки собрался и доделал плагин Terms Descriptions 🙂

Изменений в новой версии не много, но об одном из них меня просили уже несколько раз.

Речь о поддержке словоформ, т.е. нескольких вариантов написания одного и того же термина.

Например, так яблоко|яблоки|яблок и т.д.

Разделять словоформы нужно с помощью символа |. При этом, каждый из вариантов написания может состоять из одного или нескольких слов. Например, жесткий диск|винчестер|HDD.
Читать дальше

Создаём валютный информер с помощь PHP и JavaScript

Владимир | | Ajax, HTML, JavaScript, PHP, Web разработка.

exchange rates

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

Сразу хочу уточнить, что в этой статье под термином «информер» я имею в виду блок на странице, содержащий информацию, полученную с другого ресурса. Информация может быть какая угодно: курсы валют, погода, данные счетчиков, последние твиты и т.п.

Результат, который должен получиться, можно посмотреть на демонстрационной страничке или запустив пример из архива.

Source

Подключение информера

Читать дальше

Особенности подключения JS скриптов в WordPress

Владимир | | JavaScript, PHP, Web разработка, WordPress.

wordpress scripts

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

Один из таких примеров – подключение JavaScript кода в WordPress.

Этот движок предоставляет удобную функцию wp_enqueue_script. С её помощью можно обеспечить необходимый порядок подключения скриптов и, при этом, гарантируется, что один и тот же скрипт будет подключён только один раз.

Кстати, аналогичные возможности есть и в различных фреймворках, например, Yii.

Но разница между фреймворком и WordPress в том, что с помощью последнего можно создать сайт, не читая документацию, во всяком случае, ту часть, которая касается API. В этом нет ничего плохого, но можно столкнуться с некоторыми нюансами. О них речь пойдет ниже.

Основные проблемы и причины их появления

Читать дальше

Как «подружить» сервис Loginza и фреймворк Yii

Владимир | | PHP, Web разработка, Yii.

loginza yii

Постоянные читатели этого блога, наверное, помнят, что и о фреймворке Yii, и о сервисе аутентификации Loginza я раньше рассказывал. Найти эти статьи несложно: Yii, Loginza.

Но в статье о Loginza, речь шла о протоколе обмена данными с сервисом, а вопрос аутентификации остался «за бортом». Я, конечно, объяснил когда нужно создавать сессию, но на практике этого явно недостаточно 😉

В этой статье я постараюсь исправить этот недостаток и покажу пример аутентификации пользователя с помощью сервиса Loginza.

Прежде всего, определим требования к такой системе.
Читать дальше

Yii фреймворк: установка дефолтных параметров для виджетов

Владимир | | PHP, Web разработка, Yii.

yii widget parameters

Сегодня хочу показать небольшую особенность, которую нужно учитывать при разработке виджетов для фреймворка Yii.

В большинстве случаев, виджеты состоят из файла самого виджета и файла с представлением.

Например, у нас есть файлы.
protected/components/MyWidget.php – класс виджета
и
protected/components/views/myWidget.php – представление.

Класс виджета может выглядеть примерно так.
Читать дальше

WordPress расширение возможностей встроенного XML-RPC сервера

Владимир | | PHP, Web разработка, WordPress.

wp-xmlrpc-extended

Приветствую всех!

Тема публикации работы с движком WordPress через XML-RPC протокол обсуждается довольно часто. Пожалуй, это самый удобный способ удаленной публикации постов. Но, если вы хоть раз использовали эту возможность, то, скорее всего, заметили, что встроенный XML-RPC сервер поддерживает далеко не все возможности движка.

К тому же в последних версиях появилась возможность создавать собственные типы данных, и было бы удобно иметь возможность нормально работать с ними через XML-RPC.

Сегодня я покажу небольшой пример создания собственного XML-RPC сервера для WP.

Примечание. Если вы раньше не работали с XML-RPC, то, думаю, вам будет интересно почитать статьи Публикация постов в WordPress с помощью XML-RPC и CodeIgniter и Отложенная публикация постов в WordPress с помощью XML-RPC.

Прежде всего, сформулируем задачу.
Читать дальше

Аутентификация с помощью социальных сервисов и OpenId (Loginza)

Владимир | | JavaScript, PHP, Web разработка.

loginza

Приветствую всех!

Сегодня я хотел бы рассказать об аутентификации пользователей с помощью различных социальных сервисов.

Большой проблемы здесь, конечно, нет. На официальных сайтах вы легко найдете документацию для разработчиков (обычно с примерами) и сможете начать работу. Более того, сервисы вроде Facebook предлагают готовые решения, которые достаточно просто подключить к сайту и не разбираться с протоколом обмена данными.

Но если вам нужно обеспечить поддержку максимально большого количества сервисов, то объем работы резко возрастает.

Но недавно я наткнулся на один очень интересный сервис под названием Loginza, предназначенный для решения именно этой задачи. И хочу показать небольшой пример работы с ним.

Честно говоря, раньше я думал, что подобные сервисы предоставляют услуги на платной основе либо с довольно урезанным функционалом (пример). Поэтому очень приятно было найти бесплатный аналог, да и к тому же с поддержкой социальных сетей рунета.
Читать дальше