Wordpress: ta bort menyn

Lördag, 1 november, 2008

Det kan vara bra ibland "dölja" en del av menyn i Wordpress, speciellt om du utvecklat en hemsida / blogg för en kund och vill inte ge tillgång till känsliga funktioner. Det Plugin redan utför denna funktion, men att ha en personlig och fullständig kontroll, vi se i detalj hur den här funktionen.
Som alltid utnyttja användbar åtgärd som ställs till förfogande av Wordpress, i detta fall admin_menu Genom den globala variabeln $menu kan visa listan över menyn. Vi kan hitta menyn för att "ta bort" på två sätt: genom etiketten eller via länken att det punkter (se kommenterade aktier i exemplet nedan). Förslaget är "dold" menyalternativ Design, Inställningar och Plugins:

PHP:
  1. remove_menu_item funktion () (
  2. ; global $ menyn;
  3. / / Efter etikett
  4. ( 'Design' , 'Impostazioni' , 'Plugins' ) ; $ Tar bort = array ( "Design", "Inställningar", "Plugins");
  5. / / Genom länkar
  6. / / $ Tar bort = array ( "themes.php", "Val-general.php", "plugins.php ');
  7. $removes as $todel ) foreach ($ avlägsnar som $ todel)
  8. $menu as $key => $sm ) if ( $sm [ 0 ] == $todel ) { unset ( $menu [ $key ] ) ; break ; } foreach ($ meny som $ key => $ sm) if ($ sm [0] == $ todel) (unset ($ menyn [$ key]); break;)
  9. / / Genom länkar
  10. / / Foreach ($ meny som $ key => $ sm) if ($ sm [2] == $ todel) (unset ($ menyn [$ key]); break;)
  11. )
  12. / /
  13. , 'remove_menu_item' ) ; add_action ( "admin_menu", "remove_menu_item ');

Med hjälp av länkar som en nyckel till $sm[2] i delar kommenterade kod överraskning här), är användbar när det finns säkerhet i språket - plats - med vilka du har installerat Wordpress. Med denna teknik dock menyn tas bort endast i gränssnittet, så att du kan komma åt sidan via en direkt länk.

Liknande Post

Wordpress: skriva en personlig logout

Måndagen den 27 oktober, 2008

Från post Wordpress: steg för steg hur du skapar en inloggning, utföra inloggning förfarande kan vara lämpligt att ange i vår blogg en länk till avstängning, eller utloggning. Vi kommer inte att använda igen standardförfaranden av Wordpress, men vi får se hur du logga ut låg nivå. Först och främst måste vi förstå om en användare är inloggad eller inte. Detta är möjligt bara efterfrågningar variabeln $user_ID av Wordpress. Till exempel:

PHP:
  1. $user_ID != '' ) { // oppure if( is_user_logged_in() ) { if ($ USER_ID! ='') (/ / eller om (is_user_logged_in ()) (
  2. / / Användaren är "inloggad" ...
  3. )

När vi vet att en användare är inloggad i systemet, vi kan infoga en enkel länk till vår sida Logga ut. Då skapar vi en sida, t.ex. logout.php och sätter följande kod:

PHP:
  1. / **
  2. * Utför logout
  3. *
  4. * @ Författare Giovambattista Fazioli
  5. * @ @ E-post g.fazioli undolog.com
  6. * @ Web http://www.undolog.com
  7. * /
  8. / / Anropa 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 någon annan sida
  14. "Location: /" ) ; header ( "Location: /");

Och just då "länk" till vår sida att tillhandahålla en utloggning förfaranden:

PHP:
  1. $user_ID != '' ) { if ($ USER_ID! ='') (
  2. ; echo "Kör <a href="logout.php"> Logga ut </ a> ';
  3. )

Liknande Post

Firefox: förvaltning profiler

Torsdagen den 23 oktober, 2008

Mozilla Firefox kan du hantera flera profiler, funktioner användbar för dem som liksom jag, utvecklar webbplatser och kräver en rad förlängningar för att felsöka och analys av webbsidor. Genom att använda profiler som du kan konfigurera olika inställningar Firefox:

Firefox sparar dina personliga uppgifter såsom bokmärken, lösenord och preferenser i en fil som heter profil på en annan plats än den programfiler för Firefox.

I Windows Vista (se här för andra operativsystem) får du tillgång till förvaltning profiler från Esegui kommandot med:

KOD:
  1. firefox-ProfileManager

Hantera profiler

En av fördelarna när det gäller användningen av profiler är att ha en FireFox för att navigera, utan verktygsfält och utvidgningar för felsökning och Firefox för att utveckla, tillsammans med LYSMASK och alla andra utvecklingsverktyg.

Liknande Post

Mycket kort trick: odefinierade värden i Javascript

Onsdagen den 22 oktober, 2008

Det är en förkortad form för att hänföra "under flygning" ett värde till en variabel om en annan inte definieras (undefined), med hjälp av logiskt eller operatör (| |) - Double-pipe:

JavaScript:
  1. / / Pluto är odefinierade
  2. var Pluto;
  3. ; var foo = Pluto | | "5";
  4. pippo ) ; varning (foo);
  5. / / Resultat: 5

Denna teknik är användbar för att skriva funktioner med parametrar:

JavaScript:
  1. param ) { miaFunc funktion (param) (
  2. ; var p1 = param | | "riktmärke";
  3. / / ...
  4. )

Men vi måste vara försiktiga med att använda detta formulär som noll värden som 0 är misstolkas på grund av "skuld" i eller Logic används:

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

Liknande Post

Olika kodning och kodning

Tisdagen den 14 oktober, 2008

Någon hävdar att programmering är en konstform och, i slutändan, jag kan bara hålla särskilt när man hittar lösningar mycket olika ut för samma problem. För att förstå hur sant detta är som ett identiskt behov i medisimo språk (Javascript) kan lösas med metoder helt annorlunda och originellt.

Vänster noll Pad

Ett antal, men det tal är också giltiga för alla strängar, till exempel 123 kan fyllas till vänster - att göra - med ett antal nollor, till exempel: 00123 Detta måste uppvisas vid flera tillfällen och är bra för att anpassas - eller visa - ett antal snyggt, underförstått som visar sitt högsta värde. I videon, till exempel den klassiska poäng (poängen) är ofta anges med 001234 högst det gäller 999999 Så här problemet löstes genom olika utvecklare:

JavaScript:
  1. / **
  2. * Vänster Pad String
  3. *
  4. * @ Från http://snipplr.com/view/8423/left-pad-string/
  5. * @ Författare webb-http: / / www.mechanicmatt.com/
  6. *
  7. * @ Param NUM - att fylla Striga
  8. * @ Param totalChars - Totalt antal tecken, inklusive de "nollor"
  9. * @ Param padWidth - Tecken som används för att fylla, default "0"
  10. * /
  11. num, totalChars, padWith ) { leadingZeros funktion (num, totalChars, padWith) (
  12. num num + = "";
  13. ? padWith = (padWith)? padWith: "0";
  14. num. length <totalChars ) { if (längd interna referensnummer <totalChars) (
  15. num. length <totalChars ) { while (längd interna referensnummer <totalChars) (
  16. padWith + num = NUM;
  17. )
  18. { } Else ())
  19. num. length > totalChars ) { //if padWith was a multiple character string and num was overpadded if (längd interna referensnummer> totalChars) (/ / om padWith var en flera Teckensträng och num var overpadded
  20. num. length - totalChars ) , totalChars ) ; = Num num. Delsträngar ((interna referensnummer längd - totalChars), totalChars);
  21. { } Else ())
  22. återgå num;
  23. )
  24. leadingZeros ( "asdf" , 10 , "0" ) ) ; varning (leadingZeros ( "asdf", 10 "0"));

Denna lösning är extremt uttryck, men kan lägga till ett obegränsat antal 0 antal num också välja typsnitt som används av padWidth i stället för standardinställningen 0
Definitivt ursprungliga dock denna lösning:

JavaScript:
  1. / **
  2. * String_pad
  3. *
  4. * @ Från http://snipplr.com/view/700/stringpad/
  5. * @ Författare http://d.hatena.ne.jp/brazil/20060721/1153489937
  6. *
  7. * @ Param str - att fylla Striga
  8. * @ Param len - Totalt antal tecken, inklusive de "nollor"
  9. * @ Param CH - Tecken som används för att fylla
  10. * /
  11. str, len, ch ) { return new Array ( len- ( '' +str ) . length + 1 ) . join ( ch ) + str } funktion pad (str, len, CH) (återgå new Array (Len-(''+ str). längd + 1). ansluta (CH) + str)
  12. pad ( 56 , 4 , '0' ) ) ; // 0056 varning (PAD (56, 4,'0 ')), / / 0056

Samma resultat, med ett helt annat synsätt. Återigen har vi möjlighet att bestämma antalet tecken padding genom parametern len och teckensnitt som används av ch Underlåter att använda den standard som anges i föregående funktion.
Vad jag använder i stället ...:

JavaScript:
  1. / **
  2. * String_pad
  3. *
  4. * @ Författare Giovambattista Fazioli
  5. * @ Web http://www.undolog.com
  6. *
  7. * @ Param s - för att fylla Striga
  8. * @ Param l - En sträng som anger tecknet är att längden
  9. * Sådana som "0000" tecken = "0" längd 4
  10. * /
  11. s,l ) { return ( l. substr ( 0 , ( l. length -s. length ) ) +s ) ; } padding funktion (s, l) (tur och retur (L. substr (0, (L-s längd. längden)) + s);)
  12. padding ( '123' , '0000' ) ) ; varning (stoppning ('123 ','0000'));

Om du har andra intressanta lösningar kommentar : D

Liknande Post

En klass nedräkning i Javascript

Måndag 13 oktober, 2008

I efterhand med 3D Countdown FIVe3D (Se hur jag gjorde det: skriva en nedräkning i Flash), var en klass förslag om inrättande av ett objekt Countdown i ActionScript, här är en version liknande i Javascript:

JavaScript:
  1. / **
  2. * Countdown klass
  3. *
  4. * @ Författare Giovambattista Fazioli
  5. * @ @ E-post g.fazioli undolog.com
  6. * @ Web http://www.undolog.com
  7. *
  8. * @ Param dd (sträng) "dag månad, år"
  9. *
  10. * /
  11. dd ) { funktion nedräkning (DD) (
  12. / / Init tidsram
  13. Date ( dd ) ; var target = nytt datum (DD);
  14. = target. getTime ( ) ; detta. targetTime = mål. getTime ();
  15. / **
  16. * Uppdatera nedräkning
  17. * /
  18. = function ( ) { detta. uppdatera = funktion () (
  19. Date ( ) ; var dag = new Date ();
  20. ( ) ; var = currentTime dag. getTime ();
  21. / / Tid kvar
  22. this . targetTime - currentTime ) ; detta. _leftMilliseconds = (this. targetTime - currentTime);
  23. ( this ._leftMilliseconds / 1000 ) ; detta. _leftSeconds = Math. golvet (this. _leftMilliseconds / 1000);
  24. ( this ._leftSeconds / 60 ) ; detta. _leftMinutes = Math. golvet (this. _leftSeconds / 60);
  25. ( this ._leftMinutes / 60 ) ; detta. _leftHours = Math. golvet (this. _leftMinutes / 60);
  26. / / Inga-modul
  27. = Math. floor ( this ._leftHours / 24 ) ; detta. leftDays = Math. golvet (this. _leftHours / 24);
  28. / / För utskrift
  29. = this ._leftMilliseconds % 1000 ; detta. leftMilliseconds = detta. _leftMilliseconds% 1000;
  30. = this ._leftSeconds % 60 ; detta. leftSeconds = detta. _leftSeconds% 60;
  31. = this ._leftMinutes % 60 ; detta. leftMinutes = detta. _leftMinutes% 60;
  32. = this ._leftHours % 24 ; detta. leftHours = detta. _leftHours% 24;
  33. )
  34. ( ) ; detta. Uppdatera ();
  35. )

Exempel

JavaScript:
  1. countDown ( '1 1, 2009' ) ; var= ny nedräkning ( "1 1, 2009");
  2. / / Visa hur många dagar, timmar, minuter, sekunder och millisekunder i den första januari 2009
  3. cd. leftDays + "," + cd. leftHours + "," + cd. leftMinutes + "," + cd. leftSeconds + "," + cd. leftMilliseconds ) ; dokumentet. skriva (dvs leftDays + "," + cd. leftHours + "," + cd. leftMinutes + "," + cd. leftSeconds + "," + cd. leftMilliseconds);

Liknande Post

Mycket kort trick: undvika felmeddelande i PHP

Onsdagen den 8 oktober, 2008

Om vi inte vill ha en PHP utfärda några fel eller varning, bara skriva in det första samtalet till den funktion av snigel - eller- (@):

PHP:
  1. / / Istället för att använda den auktoriserade form
  2. ; $ Res = miaFunc ();
  3. / / Du kan använda
  4. ; $ Res = @ miaFunc ();

Liknande Post

Mycket kort trick: PHP bilar echo

Torsdagen den 2 oktober 2008

I PHP kan du använda en förkortad form eller inhyrda, för att se avkastningen av rörlig eller funktioner:

PHP:
  1. / / I stället för
  2. $miavar ?> <? Php echo $ miavar?>
  3. / / Du kan skriva
  4. ?> <? = $ Miavar?>
  5. / / I stället för
  6. miaFunc ( ) ?> <? Php echo miaFunc ()?>
  7. / / Du kan skriva
  8. ?> <? MiaFunc = ()?>

Liknande Post

Skypemote versionen av Adobe AIR

Tisdagen den 30 september 2008

Installera Skypemote Ladda ner Adobe AIR version

Detta är den första utgåvan kommer 0,8 (anpassas till online-version), Skype Emotions Editor - Skypemote - version i Adobe AIR. För nu är medisime online-version, med fördelen av att vara ett skrivbord, och sedan installeras på Windows, Mac och Linux.
Innan du kommer ihåg att uppdatera och / eller installeras för första gången körning av Adobe AIR, om du inte redan har gjort det tidigare.

Hämta

Air Skypemote kan du ladda ner från Google Code.

Liknande Post

ActionScript 3.0 för nybörjare: lektion # 3

Söndag, september 28, 2008

Vi fortsätter att analysera de exempel på spelet Tic Tac Toe, i ActionScript 3.0 för nybörjare: lektion # 2. Vi hade kommit fram till den funktion som skapar nätet av spelet:

ActionScript:
  1. / **
  2. * Ritning grafiskt nätet (3x3) på skärmen
  3. *
  4. * @ Param void
  5. * @ Return void
  6. * @ Privata
  7. * /
  8. createGrid ( ) : void { createGrid privata funktion (): void (
  9. / / Pointer till en tillfällig objekt MovieClip
  10. / / Anmärkning: Här kan du också använda ett föremål Sprite
  11. / / Men i detta fall jag behöver för att kunna förlänga objekt
  12. / / Lägga till några personliga proproetà. Syftet Sprite
  13. / / En klass är stängd och därför inte förlängas körning, medan
  14. / / MovieClip klass är en klass dynamisk och därför gör
  15. / / Är möjligt att lägga till objekt runtime
  16. , i:uint = 0 ; var tm: MovieClip, i: UINT = 0;
  17. / / Lägg till en 3x3 i MovieClip
  18. ; i < 9 ; i++ ) { för (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. golvet (I / 3) * (PLAYER_HEIGHT + PLAYER_OFFSET)
  23. tm._index = i;
  24. ) ; drawPlayer (tm, 0);
  25. )
  26. / / Ritning veriticali den 2 rader och 2 horisontella
  27. this . graphics ) { med (this. grafik) (
  28. 6 ,0x666666 ) ; LineStyle (6, 0x666666);
  29. OFFSETX,OFFSETY+ ( PLAYER_HEIGHT+ 15 ) ) ; Flytta (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 ) ; Flytta (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 ) ; Flytta (OFFSETX + (PLAYER_WIDTH + 15), offsety);
  34. OFFSETX+ ( PLAYER_WIDTH+ 15 ) ,OFFSETY+ ( ( PLAYER_HEIGHT+