Tag Archives: wordpress

High Performance blogs en webwerwe

Het jy 'n webwerf of 'n blog en voel dat dit is om te verval met 'n swaar verkeer? Eerste van alles, Baie geluk - dit is een van die probleme wat webmasters en bloggers wil graag hê. Maar hoe sou jy dit op te los? Die eerste ding om te doen, is om PHP versnelling in staat te stel, As jou site / blog is PHP gebaseer. Alhoewel dit eenvoudig moet wees (in teorie), dit kan 'n rukkie neem om dit reg te kry. Jy weet wat hulle sê - in teorie, teorie en praktyk is dieselfde. In die praktyk, hulle is nie. Versnelling, egter, is 'n lae-hang vrugte, en sal 'n lang pad gaan in die oplossing van jou probleme.

Sodra jy het onttrek al die kilometers uit die versneller oplossing, dit is tyd om 'n inhoud lewer Network of CDN te neem. Wat 'n CDN doen, is al jou statiese lêers te dien (beelde, style sheets, JavaScript-lêers, en selfs die kas blog bladsye) van 'n netwerk van bedieners anders as jou eie. Hierdie bedieners is strategies rondom die kontinent geplaas (en om die wêreld) sodat jou lesers ontvang die inhoud van 'n plek geografies naby aan hom. Benewens die vermindering van die latency weens afstand, CDN help jou ook deur die vermindering van die las op jou bediener.

Lees verder

Hoe om 'n string te red na 'n plaaslike lêer in PHP?

Hierdie pos is die tweede een in my geek reeks.

Terwyl programmering my Tema Tweaker, Ek het gekom oor hierdie probleem. Ek het 'n string op my bediener in my PHP program (die tweaked style, in die feit dat), en ek wou die gebruiker die opsie om dit te bewaar tot 'n lêer sy rekenaar gee. Ek sou gedink het dit was 'n algemene probleem, en al die gemeenskaplike probleme kan deur Googlen opgelos word. Maar, kyk en kyk, Ek kon net nie 'n bevredigende oplossing te vind. Ek het my eie, en gedink ek sal dit hier te deel, vir die voordeel van al die toekomstige Googlers nog kom en gaan.

Voor ons gaan in die oplossing, Ons verstaan ​​wat die probleem is. Die probleem is in die verdeling van arbeid tussen twee rekenaars — een is die bediener, waar jou WordPress en PHP hardloop; die ander is die kliënt se rekenaar waar die besigtiging plaasvind. Die string ons praat oor is op die bediener. Ons wil dit op te slaan in 'n lêer op die kliënt se rekenaar. Die enigste manier om dit te doen, is deur die bediening van die string as 'n html antwoord.

Met die eerste oogopslag, dit nie soos 'n groot probleem te kyk. Na alles, bedieners stuur gereeld snare en data aan kliënte — dit is hoe ons sien niks op die die leser, insluitend wat jy lees. As dit was net 'n PHP-program wat wil hê dat die string te red, sou dit nie 'n probleem te wees nie. Jy kan net stort die string in 'n lêer op die bediener en dien die lêer.

Maar wat doen jy as jy nie wil hê die hele wêreld 'n manier van die storting van snare lêers op jou bediener? Wel, jy kan iets soos hierdie te doen:

<?php
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
print $stylestr ;
?>

So, net sit hierdie kode in jou foo.php wat bere die string $ stylestr en wat jy gedoen. Maar ons probleem is dat ons is besig om in die WordPress plugin raamwerk, en kan nie die kop gebruik() oproepe. As jy probeer om dit te doen, sal jy die fout boodskap kry sê dat header reeds dude gedoen. Vir hierdie probleem, Ek het gevind dat die vernuftige oplossing in een van die plugins wat ek gebruik. Vergeet wat een, maar ek dink dit is 'n algemene tegniek. Die oplossing is 'n leë iFrame te definieer en stel die bron wat die PHP funksie sou skryf. Sedert iFrame verwag 'n volle HTML bron, jy is toegelaat (in die feit dat, verplig) die kop te gee() voorskrifte. Die kode uit lyk iets soos:

<iframe id="saveCSS" src="about:blank" style="visibility:hidden;border:none;height:1em;width:1px;"></iframe>
<script type="text/javascript">
var fram = document.getElementById("saveCSS");
<?php echo 'fram.src = "' . $styleurl .'"' ;
?>

Nou is die vraag, wat moet die bron? Met ander woorde, wat is $ styleUrl? Duidelik, dit gaan nie 'n statiese lêer te wees op jou bediener. En die doel van hierdie pos is om te wys dat dit nie 'n lêer op die bediener te wees ten alle. Dit is 'n twee-deel antwoord. Jy moet onthou dat jy besig is binne die raamwerk WordPress, en jy kan nie losstaande PHP lêers. Die enigste ding wat jy kan doen, is om argumente aan die bestaande PHP lêers te voeg, of die plugins wat jy geskep het. So jy eers 'n stuur-knoppie soos volg:

<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]?>">
<div class="submit">
<input type="submit" name="saveCSS" title="Download the tweaked stylesheet to your computer" value="Download Stylesheet" />
</div>

Let daarop dat die naam eienskap van die knoppie “saveCSS.” Nou, in die deel van die kode wat voorlê hanteer, jy iets soos doen:

<?php
if (isset($_POST['saveCSS']))
$styleurl = get_option('siteurl') . '/' . "/wp-admin/themes.php?page=theme-tweaker.php&save" ;

?>

Dit is die $ styleUrl wat jy sou gee as die bron van jou iFrame, vorentoe. Let daarop dat dit dieselfde as jou pluging bladsy URL, behalwe dat jy daarin geslaag om by te voeg “?red” aan die einde van dit. Die volgende truuk is dat argument te vang en dit hanteer. Vir daardie, jy gebruik om die WordPress API funksie, add_action as:

<?php
if (isset($_GET['save'] ))
add_action('init', array(&$thmTwk, 'saveCSS'));
else
remove_action('init', array(&$thmTwk, 'saveCSS'));
?>

Dit voeg 'n funksie saveCSS na die init deel van jou plugin. Nou het jy hierdie funksie te definieer:

<?php
function saveCSS() {
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
$stylestr = "Whatever string you want to save";
ob_start() ;
print $stylestr ;
ob_end_flush() ;
die() ;
}
?>

Nou is ons amper by die huis gratis. Die enigste ding om te verstaan ​​is dat jy van moet die steentjie(). As jou funksie nie sterf, dit sal uitspuug die res van die WordPress gegenereer dinge in jou stoor die lêer, aanbring dit aan jou string $ stylestr.

Dit mag lyk ingewikkeld. Wel, Ek dink dit is 'n bietjie ingewikkeld, maar sodra jy dit implementeer en kry dit loop, jy kan (en doen) vergeet dit. Ten minste, Ek doen. Dit is waarom ek dit gepos het hier, sodat die volgende keer wat ek nodig het om dit te doen, Ek kan kyk dit.

Geeks

Ek is besig met 'n bietjie van geeky dinge die afgelope tyd — skriftelik WordPress proppe. Goed, dit is omdat ek ly aan 'n verskriklike skrywer se blok.

Jy sien, Ek is veronderstel om saam te werk op my volgende boek. Ek dwaasheid beloof om 'n paar van die hoofstukke van Die Beginsels van Kwantitatiewe Ontwikkeling my opdraggewende redakteur by John Wiley & Seuns binne 'n maand; nou vind ek myself skryf alles behalwe dié darned hoofstukke! Insluitend plugins. Kom om te dink dit, skryf daardie hoofstukke sal nie minder geeky, sou dit?

Dit het my laat wonder… Ons almal het begin as geeks, het ons nie? Geen gebruik ontken dit. Onthou hoe ons onderwysers ons liefgehad, en die sexy rasieleiers, goed, het nie? Later in die lewe, weens vereistes van omstandighede, ons kan probeer het om ons techie halo te verloor en simuleer 'n bestuursposisie postuur. Maar, in ons oomblikke van paniek, ons gaan terug na ons geek wortels. Ten minste, Ek doen.

Jy dink jy doen nie? Wel, kyk uit hierdie geek grappe. As jy vind hulle snaaks, kans is jou wortels is nie veel verskillend van myne.

Heisenberg ry op die snelweg toe hy getrek oor vir spoed. Die beampte sê, “Weet jy hoe vinnig jy gaan?” Heisenberg sê, “Doen nie, maar ek weet waar ek is!”

Twee waterstofatome loop in 'n kroeg. Een sê, “Ek het my elektron verloor!” Die ander sê, “Is jy seker?” Die eerste antwoorde, “Ja, Ek is positief…”

Geek bakkie Lines:

  • Vertel my van hierdie ding wat jy die mens oproep [dramatiese pouse] lief.
  • As U my nou, Ek sal meer dronk geword as wat jy moontlik kan dink.
  • Hulle noem dit nie my bene, want ek is 'n dokter.
  • Jou naam is Leslie? Kyk, Ek kan jou naam te spel op my sakrekenaar!
  • Wat is 'n mooi meisie soos jy doen in 'n ongelukkige miernes van roes en dwaasheid soos hierdie?
  • Jy moet Windows wees 95 want jy het my so onstabiel.
  • My 'up-tyd’ is beter as BSD.
  • Ek kan uit jou emoticons wat jy soek vir 'n paar maatskappy.
  • Is dit 'n iPod mini in jou sak of is jy net bly om my te sien.
  • Wil my Red Hat te sien?
  • As jy laat my nie koop jy 'n drankie, ten minste laat my jou laptop los.
  • Jy het my by “Hello World.”
  • Omgee as ek 'n snuffelhonde te sien of jou poorte is oop?
  • Jy maak my wil my Tivo te gradeer.
  • Deur te kyk na jou Ek kan jou vertel dat jy 36-25-36, wat deur die manier is almal volkome vierkante.
  • Jedi Mind Trick: “Dit is die geek jy soek.” [Golwe hand]
  • Jy kan 'n Trojaanse op my hardeskyf enige tyd.
  • Het jy al ooit Googled jouself?
  • Hoe gaan ons dit doen 'n bietjie peer-to-peer speeksel uitruiling?
  • Met my IK en jou liggaam kan ons 'n ras van genetiese superchildren die aarde te verower begin.
  • Wat is 'n meisie soos jy doen in 'n plek soos hierdie wanneer daar 'n Farscape marathon op die oomblik op die Sci Fi Channel.
  • Ek is aangetrokke tot jy so sterk, wetenskaplikes sal 'n vyfde fundamentele krag te ontwikkel.

Wat maak 100%?

Wat beteken dit om meer te gee as 100%? Ooit wonder oor die mense wat sê hulle gee meer as 100%? Ons is almal na die vergaderings waar iemand jou wil gee oor 100%. Hoe oor die bereiking van 103%? Wat maak 100% in die lewe? Hier is 'n bietjie wiskundige formule wat kan help jy hierdie vrae:

As:

ABCDEFGHIJKLMNOPQRSTU VWXYZ word voorgestel as:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

dan H-A-R-D-W-O-R-K = 8+1+18+4+23+15+18+11 = 98%

en K-N-O-W-L-E-D-G-E = 11+14+15+23+12+5+4+7+5 = 96%

maar A-T-T-ek-T-U-D-E = 1+20+20+9+20+21+4+5 = 100%

en B-U-L-L-S-H-ek-T = 2+21+12+12+19+8+9+20 = 103%

maar kyk hoe ver gat soen jy sal neem.

A-S-S-K-I-S-S-I-N-G = 1+19+19+11+9+19+19+9+14+7 = 118%

So, 'n mens kan aflei met wiskundige sekerheid dat Terwyl Harde werk en Kennis sal kry jy sluit, en gesindheid sal jou daar kry, dit is die Bullshit en Ass soen wat jy sal sit oor die top.