it-swarm-ru.tech

Плагин доступен функциональности кеша?

Я написал плагин, который помещает значок (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. У меня есть следующие вопросы:

  • могу ли я подключить существующий плагин кеш/кеш для кеширования?
  • каково лучшее место для моего кеша? я должен поместить его в/wp-content/cache или/plugins/myplugin/mycache или даже/themes/mytheme/cache?

или есть даже лучший подход к этому?

(Я использую подход com/facebook/www, потому что я также сохраняю дату сессии stumbleupon, восхитительной и т.д. Там, и я хочу вызывать эти страницы/каналы только один раз, включая запрос на Google favicon) мне нужно отобразить значок, и не все браузеры поддерживают встроенное отображение значков, встроенных в html, мне нужно записать их в каталог, доступный клиенту).

2
edelwater

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

Что касается расположения кэша, я думаю, что это зависит:

  • для индивидуальной установки я бы выбрал короткий каталог с хорошим URL, например, я храню значки в /images/icons/ (/images/ - это мой каталог для всех изображений)
  • для чего-то, что может быть использовано в других установках или другими пользователями, я думаю, что /plugins/myplugin/mycache/ имеет больше смысла, если функциональность упакована как плагин (такой же, но в каталоге темы, если часть темы)
2
Rarst

Могу ли я подключить существующий плагин кеш/кеш для кеширования?

Да, вы могли бы, но вопрос в том, имеет ли это смысл. Файловая система - довольно хорошая база данных для файлов изображений.

Каково лучшее место для моего кеша? я должен поместить это под /wp-content/cache или /plugins/myplugin/mycache или даже /themes/mytheme/cache? или есть даже лучший подход к этому?

Это всегда зависит от того, простое место - это подпапка в папке загрузки, так как она часто доступна для записи.

1
hakre