it-swarm-eu.dev

Plugin specifická funkce cache?

Napsal jsem plugin, který umístí favicon (google) před každý odkaz na mém blogu. Opravdu jednoduché. Pouze používá jednoduchý preg_replace_callback on hrefs:

$changed_html_reference = preg_replace_callback(self::HTML_REF_REGEX, 
   array($this,'AddExtraHtmlToOneHref'), $strHtmlBodyText);

s

add_filter('the_content', array($this,'ReplaceAll'), 9);

pro nahrazení a výchozí volání na web Google pro ikonu (snip mimo třídu):

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;
}

Teď jsem si vzal přístup k tomu, aby moje vlastní třída cache, která ukládá ikony v adresářích, jako např. /cache/com/facebook/www/f.png.

Ale teď přemýšlím o umístění této třídy. Pro jednoduchost jsem umístil cache do adresáře wp-content. Mám následující otázky:

  • mohl jsem plugin existující cache/cache plugin udělat cachování pro mě?
  • co je nejlepší místo pro mou vlastní cache věc? bych měl dát pod/wp-content/cache nebo/plugins/myplugin/mycache nebo dokonce/themes/mytheme/cache?

nebo je k tomu ještě lepší přístup?

(Já používám com/facebook/www přístup, protože jsem také uložit datum schůzky stumbleupon, vynikající atd ... tam a já chci jen volat tyto stránky/kanály jednou včetně žádosti o google favicon) (a protože Potřebuji zobrazit ikonu a ne všechny prohlížeče podporu inline zobrazení ikon vložených v html musím napsat do adresáře k dispozici klientovi).

2
edelwater

Většina funkcí mezipaměti aplikace WordPress je nastavena s textem (v případě potřeby serializován). Protože je třeba ukládat binární data, je pravděpodobně lepší udržovat vlastní cache.

Pokud jde o umístění vyrovnávací paměti, myslím, že záleží na:

  • pro jednotlivou osobní instalaci bych si vybral adresář, který je krátký a dělá pěknou URL, například ukládám ikony v /images/icons/ (/images/ je můj adresář pro všechny obrázky)
  • pro něco, co by mohlo být používáno napříč různými instalacemi nebo jinými uživateli, myslím, že /plugins/myplugin/mycache/ dává největší smysl, pokud je funkce zabalena jako plugin (stejný, ale v adresáři motivů, pokud je součástí tématu)
2
Rarst

Mohl bych plugin pro existující cache/cache plugin udělat pro ukládání do mezipaměti pro mě?

Ano, můžete, ale otázka je, jestli to dává smysl. Systém souborů je velmi dobrá databáze pro obrazové soubory.

Jaké je nejlepší místo pro vlastní cache? bych měl dát pod /wp-content/cache nebo /plugins/myplugin/mycache nebo dokonce /themes/mytheme/cache? nebo je tam ještě lepší přístup k tomu?

Vždy záleží na jednoduchém místě je podsložka ve složce uploadů, protože ta je často schopná zápisu.

1
hakre