ShadowEra: Creare un ToolTip per WordPress

Nel mio precedente articolo ho spiegato come fosse possibile attraverso la programmazione di un piccolo eseguibile bash recuperare tutte le immagini delle carte di ShadowEra, un divertente gioco di carte da collezione online gratuito. Oggi vedremo come sia possibile realizzare un ToolTip per WordPress in maniera tale da far comparire al passaggio del mouse dell’utente sopra al nome della carta, l’immagine della carta stessa.

Con un minimo di modifiche lo script che sto per mostrarvi potrà essere installato in qualsiasi CMS abbiate e persino nei vostri progetti PHP sviluppati da 0.

Il progetto si divide in due componenti distinti. Il primo è uno script Javascript, non farina del mio sacco, il codice infatti è stato recuperato da una piccola guida sui tooltip presente su HTML.it e personalizzata per l’occasione dal sottoscritto.

Il codice che sto per riportare va copiato all’interno del file Header di WordPress. Per modificare il file header basta andare nel pannello di amministrazione, menu Temi, e cliccare sulla voce Editor, selezionando poi dalla lista di file presenti sulla destra il file “header.php”







Nota bene: Come potrai notare ad esempio da questa linea: messages[4] = new Array(‘../images/se004‘, ‘ ‘,‘#000000’); il secondo campo dell’array è vuoto. Questo perchè ho studiato il tooltip in maniera tale da riportare sul fondo dell’immagine della carta la traduzione in italiano della sua abilità, ma non avendo avuto ancora il tempo di tradurre tutte le carte (e chissà quando lo avrò questo tempo) ho lasciato il campo vuoto. Se hai competenze e voglia puoi tradurre tu stesso le carte per completare il tooltip.

Il nostro Tooltip è quasi completato, adesso dobbiamo fare in modo che il nostro wordpress riconosca lo specialtag in cui racchiuderemo i nomi delle carte da gioco per far comparire il tooltip su di essi.

Per fare questo dobbiamo modificare il file function.php presente all’interno della cartella del tema che abbiamo scelto per il nostro blog. Con un qualsiasi client FTP dirigiamoci quindi nella cartella del tema in uso e trasportiamo il file function.php sul nostro computer. Apriamo il file con un programma di editing php (DreamWeaver, ZendStudio se li avete) altrimenti basterà il classico NotePad di Windows o TextEdit di Osx.

Incollate in fondo al file prima di “?>” il seguente codice:

function shadowera_tooltip($atts, $content = null) {

$ay_shadowera = array 	(
'Boris Skullcrusher'=>array ('event'=>1,),
'Amber Rain'=>array ('event'=>'2',),
'Victor Heartstriker'=>array ('event'=>'3',),
'Gwenneth Truesight'=>array ('event'=>'4',),
'Nishaven'=>array ('event'=>'5',),
'Eladwen Frostmire'=>array ('event'=>'6',),
'Jericho Spellbane'=>array ('event'=>'7',),
'Zhanna Mist'=>array ('event'=>'8',),
'Lance Shadowstalker'=>array ('event'=>'9',),
'Serena Thoughtripper'=>array ('event'=>'10',),
'Ter Adun'=>array ('event'=>'11',),
'Logan Stonebreaker'=>array ('event'=>'12',),
'Banebow'=>array ('event'=>'13',),
'Baduruu'=>array ('event'=>'14',),
'Majiya'=>array ('event'=>'15',),
'Gravebone'=>array ('event'=>'16',),
'Darkclaw'=>array ('event'=>'17',),
'Moonstalker'=>array ('event'=>'18',),
'Elementalis'=>array ('event'=>'19',),
'Zaladar'=>array ('event'=>'20',),
'Jasmine Rosecult'=>array ('event'=>'21',),
'Dirk Saber'=>array ('event'=>'22',),
'Sandra Trueblade'=>array ('event'=>'23',),
'Lily Rosecult'=>array ('event'=>'24',),
'Kristoffer Wyld'=>array ('event'=>'25',),
'Puwen Bloodhelm'=>array ('event'=>'26',),
'Birgitte Skullborn'=>array ('event'=>'27',),
'Kurt Whitehelm'=>array ('event'=>'28',),
'Erika Shadowhunter'=>array ('event'=>'29',),
'Blake Windrunner'=>array ('event'=>'30',),
'Raven Wildheart'=>array ('event'=>'31',),
'Aldon the Brave'=>array ('event'=>'32',),
'Zoe Silversmith'=>array ('event'=>'33',),
'Katrin the Shieldmaiden'=>array ('event'=>'34',),
'Priest of the Light'=>array ('event'=>'35',),
'Armored Sandworm'=>array ('event'=>'36',),
'Marshland Sentinel'=>array ('event'=>'37',),
'Tainted Oracle'=>array ('event'=>'38',),
'Earthen Protector'=>array ('event'=>'39',),
'Aeon Stormcaller'=>array ('event'=>'40',),
'Deathbone'=>array ('event'=>'41',),
'Keldor'=>array ('event'=>'42',),
'Infernal Gargoyle'=>array ('event'=>'43',),
'Brutalis'=>array ('event'=>'44',),
'Plasma Behemoth'=>array ('event'=>'45',),
'Chimera'=>array ('event'=>'46',),
'Fire Snake'=>array ('event'=>'47',),
'Belladonna'=>array ('event'=>'48',),
'Bad Wolf'=>array ('event'=>'49',),
'Medusil'=>array ('event'=>'50',),
'Hellsteed'=>array ('event'=>'51',),
'Dark Flayer'=>array ('event'=>'52',),
'Death Mage Thaddeus'=>array ('event'=>'53',),
'Carniboar'=>array ('event'=>'54',),
'Shadow Knight'=>array ('event'=>'55',),
'Cobra Demon'=>array ('event'=>'56',),
'Molten Destroyer'=>array ('event'=>'57',),
'Brutal Minotaur'=>array ('event'=>'58',),
'Wulven Tracker'=>array ('event'=>'59',),
'Ogloth the Glutton'=>array ('event'=>'60',),
'Valiant Defender'=>array ('event'=>'61',),
'Reserve Weapon'=>array ('event'=>'62',),
'War Banner'=>array ('event'=>'63',),
'Smashing Blow'=>array ('event'=>'64',),
'Enrage'=>array ('event'=>'65',),
'Warrior Training'=>array ('event'=>'66',),
'Crippling Blow'=>array ('event'=>'67',),
'Rampage'=>array ('event'=>'68',),
'Shield Bash'=>array ('event'=>'69',),
'Blood Frenzy'=>array ('event'=>'70',),
'Fireball'=>array ('event'=>'71',),
'Freezing Grip'=>array ('event'=>'72',),
'Poison Gas'=>array ('event'=>'73',),
'Lightning Strike'=>array ('event'=>'74',),
'Engulfing Flames'=>array ('event'=>'75',),
'Tome of Knowledge'=>array ('event'=>'76',),
'Portal'=>array ('event'=>'77',),
'Supernova'=>array ('event'=>'78',),
'Arcane Burst'=>array ('event'=>'79',),
'Clinging Webs'=>array ('event'=>'80',),
'Aimed Shot'=>array ('event'=>'81',),
'Poison Arrow'=>array ('event'=>'82',),
'Flaming Arrow'=>array ('event'=>'83',),
'Rapid Fire'=>array ('event'=>'84',),
'Death Trap'=>array ('event'=>'85',),
'Into the Forest'=>array ('event'=>'86',),
'Battle Plans'=>array ('event'=>'87',),
'Surprise Attack'=>array ('event'=>'88',),
'Net Trap'=>array ('event'=>'89',),
'Tracking Gear'=>array ('event'=>'90',),
'Healing Touch'=>array ('event'=>'91',),
'Inner Strength'=>array ('event'=>'92',),
'Tidal Wave'=>array ('event'=>'93',),
'Ice Storm'=>array ('event'=>'94',),
'Focused Prayer'=>array ('event'=>'95',),
'Resurrection'=>array ('event'=>'96',),
'Holy Shield'=>array ('event'=>'97',),
'Plague'=>array ('event'=>'98',),
'Smite'=>array ('event'=>'99',),
'Book of Curses'=>array ('event'=>'100',),
'Assassination'=>array ('event'=>'101',),
'Reconnaissance'=>array ('event'=>'102',),
'Throwing Knife'=>array ('event'=>'103',),
'Sorcerous Poison'=>array ('event'=>'104',),
'Stop, Thief!'=>array ('event'=>'105',),
'Assassin\'s Cloak'=>array ('event'=>'106',),
'Ill-Gotten Gains'=>array ('event'=>'107',),
'Lay Low'=>array ('event'=>'108',),
'Mugged!'=>array ('event'=>'109',),
'Nightshade'=>array ('event'=>'110',),
'Captured Prey'=>array ('event'=>'111',),
'Pack Wolf'=>array ('event'=>'112',),
'Now You\'re Mine'=>array ('event'=>'113',),
'Speedstrike'=>array ('event'=>'114',),
'What Big Teeth'=>array ('event'=>'115',),
'Regeneration'=>array ('event'=>'116',),
'Full Moon'=>array ('event'=>'117',),
'Rabid Bite'=>array ('event'=>'118',),
'Lone Wolf'=>array ('event'=>'119',),
'Pack Alpha'=>array ('event'=>'120',),
'Energy Discharge'=>array ('event'=>'121',),
'Conversion'=>array ('event'=>'122',),
'Soul Reaper'=>array ('event'=>'123',),
'Spark'=>array ('event'=>'124',),
'Transference'=>array ('event'=>'125',),
'Mind Control'=>array ('event'=>'126',),
'Feedback'=>array ('event'=>'127',),
'Shard of Power'=>array ('event'=>'128',),
'Life Infusion'=>array ('event'=>'129',),
'Eternal Renewal'=>array ('event'=>'130',),
'Cover of Night'=>array ('event'=>'131',),
'Retreat!'=>array ('event'=>'132',),
'Reinforced Armor'=>array ('event'=>'133',),
'Special Delivery'=>array ('event'=>'134',),
'Campfire Stories'=>array ('event'=>'135',),
'Good Ascendant'=>array ('event'=>'136',),
'Radiant Sunlight'=>array ('event'=>'137',),
'Shrine of Negatia'=>array ('event'=>'138',),
'Poor Quality'=>array ('event'=>'139',),
'Honored Dead'=>array ('event'=>'140',),
'Bloodlust'=>array ('event'=>'141',),
'Here Be Monsters'=>array ('event'=>'142',),
'Shadowspawn'=>array ('event'=>'143',),
'Shriek of Vengeance'=>array ('event'=>'144',),
'Evil Ascendant'=>array ('event'=>'145',),
'Bloodstone Altar'=>array ('event'=>'146',),
'Selfishness'=>array ('event'=>'147',),
'Acid Jet'=>array ('event'=>'148',),
'Shadow Font'=>array ('event'=>'149',),
'Sacrificial Lamb'=>array ('event'=>'150',),
'Rain Delay'=>array ('event'=>'151',),
'Drain Power'=>array ('event'=>'152',),
'Urgent Business'=>array ('event'=>'153',),
'Extra Sharp'=>array ('event'=>'154',),
'Bazaar'=>array ('event'=>'155',),
'Sever Ties'=>array ('event'=>'156',),
'Bad Santa'=>array ('event'=>'157',),
'Master Smith'=>array ('event'=>'158',),
'Melt Down'=>array ('event'=>'159',),
'Ley Line Nexus'=>array ('event'=>'160',),
'Nova Infusion'=>array ('event'=>'161',),
'Snow Sapphire'=>array ('event'=>'162',),
'Violet Thunderstorm '=>array ('event'=>'163',),
'Armor of Ages'=>array ('event'=>'164',),
'The King\'s Pride'=>array ('event'=>'165',),
'Night Prowler'=>array ('event'=>'166',),
'Wrath of the Forest'=>array ('event'=>'167',),
'Crimson Vest'=>array ('event'=>'168',),
'Gravedigger\'s Cloak '=>array ('event'=>'169',),
'Cobraskin Wraps'=>array ('event'=>'170',),
'Black Garb'=>array ('event'=>'171',),
'Dome of Energy'=>array ('event'=>'172',),
'Plate Armor'=>array ('event'=>'173',),
'Moonlight Bracers'=>array ('event'=>'174',),
'Mocking Armor'=>array ('event'=>'175',),
'Legion United'=>array ('event'=>'176',),
'Twice Enchanted Robe'=>array ('event'=>'177',),
'Shadow Armor'=>array ('event'=>'178',),
'Crescendo'=>array ('event'=>'179',),
'Spelleater Bands'=>array ('event'=>'180',),
'Mournblade'=>array ('event'=>'181',),
'Dimension Ripper'=>array ('event'=>'182',),
'Berserker\'s Edge'=>array ('event'=>'183',),
'Jeweler\'s Dream'=>array ('event'=>'184',),
'Soul Seeker'=>array ('event'=>'185',),
'Guardian\'s Oath'=>array ('event'=>'186',),
'Beetle Demon Bow'=>array ('event'=>'187',),
'Rusty Longsword'=>array ('event'=>'188',),
'Wrath of Summer'=>array ('event'=>'189',),
'Voice of Winter'=>array ('event'=>'190',),
'Wooden Staff'=>array ('event'=>'191',),
'Sliver of Shadow'=>array ('event'=>'192',),
'Wizent\'s Staff'=>array ('event'=>'193',),
'Golden Katar'=>array ('event'=>'194',),
'Ghostmaker'=>array ('event'=>'195',),
'Old Iron Dagger'=>array ('event'=>'196',),
'Uprooted Tree'=>array ('event'=>'197',),
'Anklebreaker'=>array ('event'=>'198',),
'Fangs of the Predator'=>array ('event'=>'199',),
'Dagger of Unmaking'=>array ('event'=>'200',),
);

 extract( shortcode_atts( array(
          'url' => 'http://adf.ly/9DdcI'
), $atts ) );
return ''.$content.'';
}

add_shortcode('shadowera', 'shadowera_tooltip');

Fatto ciò dovrete sovrascrivere il file funcion.php del vostro blog con quello che avete scaricato nel vostro computer. Se avete seguito questa guida alla lettera siete già in grado di utilizzare il tooltip nei vostri articoli.

non vi resta che aggiungere la cartella image con all’interno tutte le immagini recuperate tramite il medoto spiegato nel precedente articolo nella root del vostro blog.

Per provare la nuova funzione create un nuovo articolo e scrivete ["shadowera"]Darkclaw[/"shadowera"] senza apici, se tutto è andato per il meglio dovreste vedere questo risultato:

[shadowera]Darkclaw[/shadowera]