Wordpress: fjerne menyen

Lørdag, 1. november 2008

Det kan være nyttig noen ganger, "obskøn" noen av menyen på Wordpress, spesielt hvis du har utviklet et nettsted / blogg for en klient og ikke vil tillate tilgang til sensitive funksjoner. Det Plugin allerede utfører denne funksjonen, men å ha et personlig og full kontroll, ser vi i detalj hvordan denne funksjonen.
Som alltid utnytte nyttig Action gjort tilgjengelig av Wordpress, i dette tilfellet admin_menu Gjennom den globale variabelen $menu kan få tilgang til listen over menyen. Vi kan finne på menyen for å "fjerne" på to måter: gjennom etikett eller via linken som den peker (se kommentert aksjer i eksempelet nedenfor). Forslaget er "fjernet" i menyen Design, Innstillinger og Plugins:

PHP:
  1. remove_menu_item funksjon () (
  2. ; global $ menyen;
  3. / / Ved etikett
  4. ( 'Design' , 'Impostazioni' , 'Plugins' ) ; $ Fjerner = array ( 'Design', 'Innstillinger', 'Plugins ");
  5. / / Gjennom linker
  6. / / $ Fjerner = array ( 'themes.php', 'Valg-general.php', 'plugins.php');
  7. $removes as $todel ) foreach ($ fjerner som $ todel)
  8. $menu as $key => $sm ) if ( $sm [ 0 ] == $todel ) { unset ( $menu [ $key ] ) ; break ; } foreach ($ meny som $ nøkkel => $ sm) if ($ sm [0] == $ todel) (unset ($ meny [$ nøkkelen]); pause;)
  9. / / Gjennom linker
  10. / / Foreach ($ meny som $ nøkkel => $ sm) if ($ sm [2] == $ todel) (unset ($ meny [$ nøkkelen]); pause;)
  11. )
  12. / /
  13. , 'remove_menu_item' ) ; add_action ( 'admin_menu', 'remove_menu_item');

Ved hjelp av koblingene som nøkkelen til $sm[2] i deler kommentert koden overraskelse her), er nyttig når det er visshet om språk - location - som du har installert Wordpress. Med denne teknikken, men menyen er fjernet bare i grensesnittet, slik at du likevel kan få tilgang til siden via en direkte kobling.

Related Post

Wordpress: skrive en personlig logg

Mandag, 27. oktober 2008

Starter fra innlegget Wordpress: trinn for trinn hvordan du oppretter en pålogging, utført pålogging prosedyren kan være nyttig å indikere i vår blogg en link til frakobling, eller logout. Vi vil ikke bruke igjen den vanlige prosedyrer for Wordpress, men vi får se hvordan du logger deg lavt nivå. Først av alt må vi forstå om en bruker er logget på eller ikke. Dette er mulig bare søkene variabelen $user_ID av Wordpress. For eksempel:

PHP:
  1. $user_ID != '' ) { // oppure if( is_user_logged_in() ) { if ($ user_ID! ='') (/ / eller hvis (is_user_logged_in ()) (
  2. / / Bruker er "logget" ...
  3. )

Når vi vet at en bruker er logget på systemet, kan vi sette inn en enkel link til vår side logout. Deretter lager vi en side, for eksempel logout.php og setter inn følgende kode:

PHP:
  1. / **
  2. * Utfører logout
  3. *
  4. * @ Forfatter Giovambattista Fazioli
  5. * @ @ Epost g.fazioli undolog.com
  6. * @ Web http://www.undolog.com
  7. * /
  8. / / Start WordPress bootstrap
  9. 'wp-config.php' ) ; @ Require_once ( 'wp-config.php');
  10. 'wp-includes/pluggable.php' ) ; @ Require_once ( 'wp-includes/pluggable.php');
  11. / / Wp logout
  12. wp_logout ();
  13. / / Load en annen side
  14. "Location: /" ) ; header ( "Location: /");

Og akkurat da "link" til vår side for å gi en logout prosedyrer:

PHP:
  1. $user_ID != '' ) { if ($ user_ID! ='') (
  2. ; echo "Kjør <a href="logout.php"> logout </ a> ';
  3. )

Related Post

Firefox: Administrasjon

Torsdag, 23. oktober 2008

Mozilla Firefox lar deg administrere flere profiler, funksjoner nyttig for dem som, i likhet med meg, utvikler nettsteder og krever en rekke utvidelser dedikert til å feilsøke og analysen av web-sider. Gjennom bruk av profiler kan du konfigurere forskjellige innstillinger Firefox:

Firefox lagrer personlig informasjon som bokmerker, passord og preferanser i en fil kalt profilen på en annen plassering enn programfilene for Firefox.

På Windows Vista (se her for andre operativsystemer) kan få tilgang til administrasjon profiler fra Esegui ved hjelp av:

Code:
  1. firefox-ProfileManager

Administrere profiler

En av fordelene med bruk av profiler er å ha en Firefox for å navigere, uten noen verktøylinje og utvidelser for feilsøking og Firefox for å utvikle, sammen med Firebug og alle andre utviklingsverktøy.

Related Post

Svært kort triks: undefined verdier i Javascript

Onsdag, 22. oktober, 2008

Det er en forkortet form for tilordning "under flyturen" en verdi for en variabel hvis en annen er ikke definert (udefinert), ved hjelp av logisk ELLER operatør (| |) - Double-pipe:

JavaScript:
  1. / / Pluto er udefinert
  2. var Pluto;
  3. ; var foo = Pluto | | "5. ';
  4. pippo ) ; alert (foo);
  5. / / Resultat: 5

Denne teknikken er nyttig for skriving av funksjoner med parametere:

JavaScript:
  1. param ) { miaFunc funksjon (param) (
  2. ; var p1 = param | | "benchmark";
  3. / / ...
  4. )

Men vi må være forsiktige med å bruke dette skjemaet som null-verdier som for eksempel 0 er feiltolkes, på grunn av "skylden" for eller Logic brukes:

JavaScript:
  1. ; Pluto var = 0;
  2. ; var foo = Pluto | | "5. ';
  3. pippo ) ; alert (foo);
  4. / / Resultat: 5
  5. ; Pluto var = false;
  6. ; var foo = Pluto | | "5. ';
  7. pippo ) ; alert (foo);
  8. / / Resultat: 5
  9. ; Pluto var = 1;
  10. ; var foo = Pluto | | "5. ';
  11. pippo ) ; alert (foo);
  12. / / Resultat: 1

Related Post

Rekke koding og koding

Tirsdag, 14. oktober 2008

Noen hevder at programmering er en kunst, og i siste instans, kan jeg bare enig spesielt når løsninger er funnet svært forskjellig for samme problem. For å forstå hvordan sant dette er som en identisk trenger i medisimo språk (JavaScript) kan løses med tilnærminger ganske annerledes og originalt.

Venstre null tast

Et tall, men talen er også gyldig for alle strengen, 123 123 kan bli fylt til venstre - til å trekke - med et antall nuller, for eksempel: 00123 Dette behovet er presentert ved flere anledninger og er nyttig for innretta - eller vis - en ren, implisitt indikerer høyeste verdi. I videoen, for eksempel den klassiske poeng (poeng) er ofte indikert av 001234 ved de fleste det kommer til 999999 Her ser du hvordan problemet ble løst ved ulike utviklere:

JavaScript:
  1. / **
  2. * Venstre puten string
  3. *
  4. * @ Fra http://snipplr.com/view/8423/left-pad-string/
  5. * @ Forfatter web-http: / / www.mechanicmatt.com/
  6. *
  7. * @ Param num - for å fylle Striga
  8. * @ Param totalChars - Totalt antall tegn, inkludert "nuller"
  9. * @ Param padWidth - Karakterer brukes til å fylle, standard "0"
  10. * /
  11. num, totalChars, padWith ) { leadingZeros funksjon (num, totalChars, padWith) (
  12. num num + = "";
  13. ? padWith = (padWith)? padWith: "0";
  14. num. length <totalChars ) { if (lengde interne referansenummer <totalChars) (
  15. num. length <totalChars ) { while (lengde interne referansenummer <totalChars) (
  16. padWith + num = num;
  17. )
  18. { } Else ())
  19. num. length > totalChars ) { //if padWith was a multiple character string and num was overpadded if (lengde interne referansenummer> totalChars) (/ / hvis padWith var en av flere tegnstreng og num var overpadded
  20. num. length - totalChars ) , totalChars ) ; = Num num. Delstreng ((interne referansenummer lengde - totalChars), totalChars);
  21. { } Else ())
  22. return num;
  23. )
  24. leadingZeros ( "asdf" , 10 , "0" ) ) ; alert (leadingZeros ( "asdf", 10 "0"));

Denne løsningen er ekstremt velformulerte, men kan legge til et ubestemt antall 0 nummer num også velge font brukes av padWidth i stedet for standard 0
Definitivt originalen, men denne løsningen:

JavaScript:
  1. / **
  2. * String_pad
  3. *
  4. * @ Fra http://snipplr.com/view/700/stringpad/
  5. * @ Forfatter http://d.hatena.ne.jp/brazil/20060721/1153489937
  6. *
  7. * @ Param str - for å fylle Striga
  8. * @ Param len - Totalt antall tegn, inkludert "nuller"
  9. * @ Param ch - Karakterer brukes til å fylle
  10. * /
  11. str, len, ch ) { return new Array ( len- ( '' +str ) . length + 1 ) . join ( ch ) + str } fungere rondell (str, len, kap.) (return new Array (len-(''+ str). lengde + 1). delta (ka) + str)
  12. pad ( 56 , 4 , '0' ) ) ; // 0056 alert (rondell (56, 4,'0 ')); / / 0056

Samme resultat, med en helt annen tilnærming. Igjen har vi muligheten til å bestemme antallet tegn padding gjennom parameteren len og fonten som brukes av ch Ikke klarer å bruke standard leveres i forrige funksjon.
Hva jeg bruke i stedet ...:

JavaScript:
  1. / **
  2. * String_pad
  3. *
  4. * @ Forfatter Giovambattista Fazioli
  5. * @ Web http://www.undolog.com
  6. *
  7. * @ Param s - å fylle Striga
  8. * @ Param l - En streng som angir tegnet er at lengden
  9. * For eksempel "0000"-tegnet = "0" lengde 4
  10. * /
  11. s,l ) { return ( l. substr ( 0 , ( l. length -s. length ) ) +s ) ; } padding-funksjon (r, l) (Return (l. substr (0, (l-s lengde. lengde)) + r);)
  12. padding ( '123' , '0000' ) ) ; alert (padding ('123 ','0000'));

Hvis du har andre interessante løsninger kan du kommentar : D

Related Post

En klasse med nedtelling i Javascript

Mandag 13 oktober, 2008

I innlegget med 3D Countdown FIVe3D (se hvordan jeg gjorde det: skrive en nedtelling i Flash), var en klasse forslag om etablering av et objekt Countdown i Actionscript, her er en versjon som ligner på Javascript:

JavaScript:
  1. / **
  2. * Countdown Klassifikasjon
  3. *
  4. * @ Forfatter Giovambattista Fazioli
  5. * @ @ Epost g.fazioli undolog.com
  6. * @ Web http://www.undolog.com
  7. *
  8. * @ Param dd (string) "-dag, måned, år"
  9. *
  10. * /
  11. dd ) { funksjon nedtelling (DD) (
  12. / / Init målet tid
  13. Date ( dd ) ; var target = ny dato (dd);
  14. = target. getTime ( ) ; dette. targetTime = målet. getTime ();
  15. / **
  16. * Refresh nedtelling
  17. * /
  18. = function ( ) { dette. oppdatere = funksjon () (
  19. Date ( ) ; var i dag = new Date ();
  20. ( ) ; Var = currentTime i dag. getTime ();
  21. / / Tid igjen
  22. this . targetTime - currentTime ) ; det. _leftMilliseconds = (this. targetTime - currentTime);
  23. ( this ._leftMilliseconds / 1000 ) ; dette. _leftSeconds = Math. gulvet (this. _leftMilliseconds / 1000);
  24. ( this ._leftSeconds / 60 ) ; dette. _leftMinutes = Math. gulvet (this. _leftSeconds / 60);
  25. ( this ._leftMinutes / 60 ) ; dette. _leftHours = Math. gulvet (this. _leftMinutes / 60);
  26. / / No-modulen
  27. = Math. floor ( this ._leftHours / 24 ) ; dette. leftDays = Math. gulvet (this. _leftHours / 24);
  28. / / For Skriv ut
  29. = this ._leftMilliseconds % 1000 ; dette. leftMilliseconds = det. _leftMilliseconds% 1000;
  30. = this ._leftSeconds % 60 ; dette. leftSeconds = dette. _leftSeconds% 60;
  31. = this ._leftMinutes % 60 ; dette. leftMinutes = dette. _leftMinutes% 60;
  32. = this ._leftHours % 24 ; dette. leftHours = dette. _leftHours% 24;
  33. )
  34. ( ) ; dette. oppdater ();
  35. )

Eksempel

JavaScript:
  1. countDown ( '1 1, 2009' ) ; var so = ny nedtelling ('1 1, 2009 ');
  2. / / Viser hvor mange dager, timer, minutter, sekunder og millisekunder i den første januar 2009
  3. cd. leftDays + "," + cd. leftHours + "," + cd. leftMinutes + "," + cd. leftSeconds + "," + cd. leftMilliseconds ) ; dokument. skrive (dvs. leftDays + "," + cd. leftHours + "," + cd. leftMinutes + "," + cd. leftSeconds + "," + cd. leftMilliseconds);

Related Post

Svært kort triks: unngå feilmelding i PHP

Onsdag, 8. oktober 2008

Hvis vi ikke ønsker et PHP-saken eventuelle feil eller advarsel, bare skriv inn det første anropet til den funksjonen av sneglen - eller når - (@):

PHP:
  1. / / I stedet for å bruke den kanoniske form
  2. ; $ Res = miaFunc ();
  3. / / Du kan bruke
  4. ; $ Res = @ miaFunc ();

Related Post

Svært kort triks: PHP biler ekko

Torsdag, 2. oktober 2008

I PHP kan du bruke en forkortet form eller kontrakt, å se tilbake med variable eller funksjoner:

PHP:
  1. / / I stedet for
  2. $miavar ?> <? Php ekko $ miavar?>
  3. / / Du kan skrive
  4. ?> <? = $ Miavar?>
  5. / / I stedet for
  6. miaFunc ( ) ?> <? Php echo miaFunc ()?>
  7. / / Du kan skrive
  8. ?> <? MiaFunc = ()?>

Related Post

Skypemote versjon av Adobe AIR

Tirsdag, 30. september 2008

Installer Skypemote laste ned Adobe AIR versjon

Dette er første utgivelse, den 0,8 (samkjøres med nettutgaven), Skype Følelser Editor - Skypemote - versjon i Adobe AIR. For nå er medisime den elektroniske versjonen, med den fordelen av å være en skrivebordet, og deretter installeres på Windows, Mac og Linux.
Før du huske å oppdatere og / eller installert for første gang i runtime av Adobe AIR, hvis du ikke allerede har gjort det tidligere.

Laste ned

Air Skypemote du kan laste ned fra Google Code.

Related Post

Actionscript 3.0 for nybegynnere: leksjon # 3

Søndag, 28. september 2008

Vi fortsetter å analysere eksempel på spillet skalamerke Seattle Tacoma Intl Toe, i Actionscript 3.0 for nybegynnere: leksjon # 2. Vi hadde kommet frem til den funksjonen som gir et rutenett av spillet:

Actionscript:
  1. / **
  2. * Tegning grafisk rutenettet (3X3) på skjermen
  3. *
  4. * @ Param void
  5. * @ Return void
  6. * @ Privat
  7. * /
  8. createGrid ( ) : void { createGrid private funksjon (): void (
  9. / / Peker til en midlertidig objekt MovieClip
  10. / / Merk: her kan du også bruke et objekt Sprite
  11. / / Men i dette tilfelle jeg må være i stand til å utvide objekt
  12. / / Legge noen personlige proproetà. Objektet Sprite
  13. / / B-klasse er lukket og derfor ikke utvidet kjøring, mens
  14. / / MovieClip klassen er en klasse dynamisk og derfor gjør
  15. / / Mulig tillegg av eiendommer runtime
  16. , i:uint = 0 ; var tm: MovieClip, i: UINT = 0;
  17. / / Legg til en 3X3 i MovieClip
  18. ; i < 9 ; i++ ) { for (i <9; i + +) (
  19. ( ) ; tm = ny MovieClip ();
  20. ; addChild (tm);
  21. i% 3 ) * ( PLAYER_WIDTH+PLAYER_OFFSET ) ) tm. OFFSETX = x + ((i% 3) * (PLAYER_WIDTH + PLAYER_OFFSET))
  22. . floor ( i/ 3 ) * ( PLAYER_HEIGHT+PLAYER_OFFSET ) tm. offsety + y = Math. gulvet (i / 3) * (PLAYER_HEIGHT + PLAYER_OFFSET)
  23. tm._index = i;
  24. ) ; drawPlayer (tm, 0);
  25. )
  26. / / Tegning veriticali til 2 linjer og 2 horisontale
  27. this . graphics ) { med (this. grafikk) (
  28. 6 ,0x666666 ) ; LineStyle (6, 0x666666);
  29. OFFSETX,OFFSETY+ ( PLAYER_HEIGHT+ 15 ) ) ; Flytt (OFFSETX, offsety + (PLAYER_HEIGHT + 15));
  30. OFFSETX+ ( ( PLAYER_WIDTH+ 20 ) * 3 ) ,OFFSETY+ ( PLAYER_HEIGHT+ 15 ) ) ; lineTo (OFFSETX + ((PLAYER_WIDTH + 20) * 3), offsety + (PLAYER_HEIGHT + 15));
  31. OFFSETX,OFFSETY+ ( PLAYER_HEIGHT+ 20 ) * 2 ) ; Flytt (OFFSETX, offsety + (PLAYER_HEIGHT + 20) * 2);
  32. OFFSETX+ ( ( PLAYER_WIDTH+ 20 ) * 3 ) ,OFFSETY+ ( PLAYER_HEIGHT+ 20 ) * 2 ) ; lineTo (OFFSETX + ((PLAYER_WIDTH + 20) * 3), offsety + (PLAYER_HEIGHT + 20) * 2);
  33. OFFSETX+ ( PLAYER_WIDTH+ 15 ) ,OFFSETY ) ; Flytt (OFFSETX + (PLAYER_WIDTH + 15), offsety);
  34. OFFSETX+ ( PLAYER_WIDTH+ 15 ) ,OFFSETY+ ( ( PLAYER_HEIGHT+ 20 ) * 3 ) ) ; lineTo (OFFSETX + (PLAYER_WIDTH + 15), offsety + ((PLAYER_HEIGHT + 20) * 3));
  35. OFFSETX+ ( PLAYER_WIDTH+ 20 ) * 2 ,OFFSETY ) ; Flytt (OFFSETX + (PLAYER_WIDTH + 20) * 2, offsety);
  36. OFFSETX+ ( PLAYER_WIDTH+ 20 ) * 2 ,OFFSETY+ ( ( PLAYER_HEIGHT+ 20 ) * 3 ) ) ; lineTo (OFFSETX + (PLAYER_WIDTH + 20) * 2, offsety +