Posts Tagged “php”

Facebook har i dag lanceret en række ny features, en af dem er en "Like"-knap til alle websites. Se her, hvordan du får en sådan på din WordPress-blog.

Comments Én kommentar »

Jeg har lige skrevet dette tip i en kommentarVideomonster.dk, men jeg tænkte, at det måske var noget, som andre også var interesserede i, så jeg valgte at dedikere et kort indlæg til det :-)

Hvis du er ude og skal vise nogle andre, hvordan man installerer WordPress (læs: hvor nemt det er at installere WordPress), så er det ikke særlig fedt, at dit kodeord til din database ikke er maskeret.

Det kan du imidlertid løse ved at ændre i én linie i én fil.

Åbn \wp-admin\setup-config.php-filen på din computer (jeg anbefaler Notepad++ til opgaven) og find linie #86, som ser således ud (i dansk WordPress):

<td><input name="pwd" type="text" size="25" value="kodeord" /></td>

Lav det om til:

<td><input name="pwd" type="password" size="25" value="kodeord" /></td>

Så er dit databasekodeord maskeret, så andre ikke får nogle gode idéer, når du gennemgår WordPress-installationen for dem.

Comments 7 kommentarer »

Dette tip berører kun WordPress, men med lidt ændring i koden, burde det kunne portes til at virke generelt på PHP. Mere om det i slutningen af indlægget.

Du kender muligvis TinyURL, en simpel tjeneste, der tager et langt link og gør det kortere. På dansk har vi kortlink.dk, men TinyURL er mere udbredt. Derudover har TinyURL et ret simpelt API, som Dave Winer også har skrevet om.

TinyURL-API'et fungerer på den måde, at du bruger en .php-fil hos dem (http://tinyurl.com/api-create.php), som du sender en URL ind i. TinyURL's api-create.php spytter så en TinyURL http-URL ud til dig. Lad os tage et eksempel:

http://tinyurl.com/api-create.php?url=http://www.onlineminds.dk

Resultat: http://tinyurl.com/6zu3ju.

PHP er din ven. Din bedste ven.
Okay, det var den nemme del. Nu skal vi have fat i den TinyURL, som bliver spyttet ud. Her bruger vi PHP, som også er det sprog, WordPress er skrevet i.

For overblikkets skyld slår jeg denne operation ud på to variabler, men det kan i virkeligheden godt gøres i ét hug, som jeg vil vise lige om lidt.

Først får vi fat i URL'en på den side, som spytter TinyURL'en ud, altså fx:

http://www.tinyurl.com/api-create.php?url=http://www.onlineminds.dk.

Det gør vi på den snedige måde, at vi tager den første del af URL'en (til og med "?url=") og slår det sammen med WordPress-funktionen "get_permalink", som spytter URL'en til et blogindlæg ud. I PHP ser det således ud:

<?php $gettinyurl = "http://tinyurl.com/api-create.php?url=" . get_permalink(); ?>

Variablen "gettinyurl" er nu sat til den URL, som browseren lander på, når api-create.php spytter en TinyURL til den pågældende side ud. Nu skal vi have fat i det indhold, den spytter ud: TinyURL'en. Her har PHP en herlig funktion, der hedder file_get_contents (jeg skylder en stor tak til vores udvikler Søren Pedersen her, som gjorde mig opmærksom på denne!).

Vi laver en ny variabel (lad os kalde den "tinyurl") og sætter den til at trække indholdet ud, via den parameter ("gettinyurl"), som vi lige har sat:

<?php $tinyurl = file_get_contents($gettinyurl); ?>

Nu er det eneste, du skal gøre at spytte "tinyurl" ud der, hvor du vil have TinyURL'en vist:

<?php echo $tinyurl; ?>

Sådan.

Bemærk: Dette virker kun, når du er i The Loop i WordPress, kort fortalt der, hvor WordPress trækker indlæg ud. Det er i samme område, som overskrift, link og antal kommentarer til et indlæg bliver trukket ud.

Plug it in, plug it in
Efter at have kodet dette, er jeg blevet opmærksom på et WordPress-plugin, Tiny Link, som gør præcis det samme, den gør det bare i ét smæk. Koden til Tiny Link-plugin'et ser således ud:

function TinyLink() {
// get the tinyurl link and create one for the current permalink
$tinylink = file_get_contents("http://tinyurl.com/api-create.php?url=" . get_permalink());

// Print the result
echo $tinylink;

}

Altså præcis det samme. Plugin'et gør dog noget smart. Det laver en funktion med navnet "TinyLink", som du kan kalde, hvor som helst, du vil have det (stadig så længe du er i The Loop) ved at skrive:

<?php TinyLink() ?>

Få det til at spille udenfor WordPress
Som jeg lovede tidligere, kan dette også lade sig gøre, selvom man ikke nødvendigvis er i WordPress. Og det kan det da.

I stedet for get_permalink skal du bruge en linje PHP, der spytter URL'en på den aktuelle side ud. Jeg fandt en her:

<?php $url = "http" . ((!empty($_SERVER['HTTPS'])) ? "s" : "") . "://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>

De hurtige har sikkert gættet, hvordan kaldet til TinyURL-api'et skal se ud:

<?php $tinyurl = file_get_contents("http://tinyurl.com/api-create.php?url=" . $url); ?>

Altså fuldstændig som i før, bare med "$url" i stedet for "the_permalink()". Nu er variablen "tinyurl" TinyURL'en til den URL, som variablen bliver skrevet på. Værsgo' :-)

Fik jeg nævnt, at PHP er det sejeste sprog i verden? ;-)

Comments Ingen kommentarer »

Hvis du arbejder, har arbejdet eller blot eksperimenterer med at hive RSS ind på forskellige sider, kender du muligvis MagPie, der er en RSS-parser skrevet i PHP. MagPie har en række gode features, som jeg nok skal undlade at nævne her, det kan du læse mere om på MagPies side.

Men. Hvis du hiver danske feeds ind, så vil du opleve, at specialtegn (altså tegn som æ, ø, å) blver kodet forkert og ligner noget, der er løgn. Dette skyldes, at MagPie ikke automatisk kigger på, hvilket format RSS-feedet bruger.

Derfor: Hvis du oplever, at dine danske tegn ser underlige ud, når du hiver et RSS-feed ind via MagPie, er det første, du skal gøre, at tjekke hvilket tegnsæt, feedet er i. Lad os tage mit Lars K Jensen-samlefeed fra feed.informer (for nu at være narcissistisk :-)):

http://app.feed.informer.com/digest3/JJMHLP3ND8.rss

Kig nu i kildekoden for feedet, hvis du er på Firefox, kan du gøre dette ved at trykke CTRL+U — CMD+U, hvis du er på Mac. Kig i den øverste linje:

<?xml version="1.0" encoding="utf-8"?>

Bingo. Her er altså tale om et feed kodet i UTF-8-tegnsættet. Det skal vi nu fortælle MagPie. Gå ind i den .php-fil, hvor du kalder MagPie.

Lige inden du kalder MagPie (formentlig med require_once) skal du skrive:

define('MAGPIE_INPUT_ENCODING', 'UTF-8');
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'

Så skulle dine mærkelige tegn gerne blive til læselige bogstaver. Er der tale om et andet tegnsæt end UTF-8, skal du selvfølgelig skrive det ud for MAGPIE_INPUT_ENCODING.

PS: Jeg fandt løsningen her på Simplestation.com efter at have Googlet mig frem til det.

Comments Ingen kommentarer »

Sådan flytter du fra en WordPress blog til en anden og sikrer, at der er et fornuft link mellem de to blogs, så eventuelle læsere af den gamle, kan finde det samme indlæg på den nye. [Læs mere]

Comments Ingen kommentarer »

Med lidt simpel kodning kan man lave et søgeplugin, der bruger Google site-søgning, hvorved man lade Google gøre arbejdet. [Læs mere]

Comments Én kommentar »