Я написал плагин, который помещает значок (Google) перед каждой ссылкой в моем блоге. Действительно просто. Просто использует простой preg_replace_callback для hrefs:
$changed_html_reference = preg_replace_callback(self::HTML_REF_REGEX,
array($this,'AddExtraHtmlToOneHref'), $strHtmlBodyText);
с
add_filter('the_content', array($this,'ReplaceAll'), 9);
для замены и вызова по умолчанию на сайте Google для значка (отрываться от класса):
const GOOGLE_ICON_URL = 'http://www.google.com/s2/favicons?domain=';
function HttpDownloadFeed()
{
$parsed_url = parse_url($this->url);
$data_r = wp_remote_get(self::GOOGLE_ICON_URL . $parsed_url['Host']);
$data = $data_r['body'];
return $data;
}
Теперь я выбрал свой собственный класс кеша, в котором иконки хранятся в каталогах, например, например. /cache/com/facebook/www/f.png.
Но сейчас я думаю о местонахождении этого класса. Для удобства я поместил кеш в каталог wp-content. У меня есть следующие вопросы:
или есть даже лучший подход к этому?
(Я использую подход com/facebook/www, потому что я также сохраняю дату сессии stumbleupon, восхитительной и т.д. Там, и я хочу вызывать эти страницы/каналы только один раз, включая запрос на Google favicon) мне нужно отобразить значок, и не все браузеры поддерживают встроенное отображение значков, встроенных в html, мне нужно записать их в каталог, доступный клиенту).
Большая часть функций кэширования WordPress настроена с учетом текста (при необходимости, сериализованного). Поскольку вам нужно хранить двоичные данные, вероятно, лучше поддерживать собственный кеш.
Что касается расположения кэша, я думаю, что это зависит:
/images/icons/
(/images/
- это мой каталог для всех изображений)/plugins/myplugin/mycache/
имеет больше смысла, если функциональность упакована как плагин (такой же, но в каталоге темы, если часть темы)Могу ли я подключить существующий плагин кеш/кеш для кеширования?
Да, вы могли бы, но вопрос в том, имеет ли это смысл. Файловая система - довольно хорошая база данных для файлов изображений.
Каково лучшее место для моего кеша? я должен поместить это под
/wp-content/cache
или/plugins/myplugin/mycache
или даже/themes/mytheme/cache
? или есть даже лучший подход к этому?
Это всегда зависит от того, простое место - это подпапка в папке загрузки, так как она часто доступна для записи.