Forfatterarkiv: Thomas Clausen

Om Thomas Clausen

Jeg arbejder til dagligt i Nykredit som Web projektleder. Jeg er uddannet Cand.merc.(fil.) fra Handelshøjskolen i København (CBS) og har tidligere været på Computerworld og i Økonomistyrelsen. Sysler bl.a. med hjemmesiderne: Trendminers, Voipbloggen, voipsnak, kroketmesteren oma :-)

WordPress og bbPress bliv ét

bbPress som plugin til WordPress skrider godt frem

WordPress og bbPress bliv ét

WordPress og bbPress bliv ét


Jeg sidder for tiden og leger lidt med den seneste Release Candidate af WordPress og bbPress som plugin (man kan hente det i bunden af den side som jeg linker til). Der er endnu ikke nogen frigivelsesdato for plugin’et, men at dømme fra det jeg har set indtil videre, så må det snart komme i beta…

Jeg er overrasket over hvor godt det fungerer. bbPress folkene har lavet et child-theme til twentyten, så man med stadard-temaet (som vi også bruger her på WordPress.dk), kan sætte det hele op på 5-10 minutter.

Kan jeg flytte mit eksisterende forum over nu?

De har ikke kigget på disse muligheder endnu. Men når de kommer tættere på release, så bliver det helt sikkert muligt, at flytte i hvert fald bbPress stand-alone (og forhåbentlig også php-fusion som jeg har fornøjelsen af at bruge på et andet domæne).

Hvad skulle det gode ved at bruge et plugin være?

Brugerstyringen, som tidligere har været noget bøvlet at integrere er helt smertefri, da man kører på det eksisterende setup uden at skulle koble de to installationer, som man skal i dag.

Der bliver brugt custom post-types til forumer, indlæg og svar. På den måde bygges der simpelt ovenpå WordPress’ eksisterende posts.

Men måske vigtigst af alt, så kan du lige pludselig bruge alle WordPress plugins, til at udvide funktionaliteten af WordPress. Det bliver gangske skønt, når vi kan det.

Kommer WordPress.dk også til at skifte over?

Uden at have talt med Mark om det, så kan jeg ikke forestille mig andet end selvfølgelig skal WordPress.dk også bruge det når det er modent.

DevPress – De fantastiske 4 indenfor WordPress

DevPress gutterne (der er vist nogle ledige pladser :-))

DevPress gutterne (der er vist nogle ledige pladser :-))

Opdateret: Nu er er DevPress.com live, så smut hen og se hvad gutterne pønser på…

Jeg er for tiden beta-tester på et spændende initiativ fra Justin Tadlock, Ptah Dunbar, Tung Do, & Patrick Daly. Det hedder DevPress med sloganet:

Professional WordPress Themes & Plugins

Det er et fantastisk stærkt hold. Som jeg ser det, så udmærker det sig ved, at det er 4 specialister indenfor hvert deres felt.

Justin Tadlock er kaptajnen bare en champ

Justin Tadlock

Justin Tadlock

Opdateret: Justin sagde at de skiftes til at være kaptajn 🙂

Justin kender mulighederne i WordPress, og er fantastisk dygtig til at finde smukke løsninger på komplicerede problemer. Men designer, det bliver han nok aldrig 🙂 Han er også manden bag det fantastiske framework kaldet ThemeHybrid. Og hans egen blog (som nærmest udelukkende handler om WordPres) er også værd at følge.

Tung Do aka Small Potato er designeren

Tung Do aka Small Potato

Tung Do aka Small Potato

Small Potato har tidligere designet nogle ting for Justin, men med dette partnerskab bliver det spændende at se hvad de kan drive det til. Tung Do laver nogle fantastiske temaer til WordPress. Og han har et skarpt øje for detaljerne i designet.

Se nogle af den lille kartoffels projekter på hans site.

Patrick Daly en Front-end mester

Patrick Daly en front-end mester

Patrick Daly en front-end mester

Patrick er specielt dygtig til HTML, CSS, and Javascript. Han har tidligere lavet flere forskellige child themes til ThemeHybrid, og er en fantastisk flink fyr 🙂

Han holder til på DevelopDaly, hvor man også kan se hans flotte arbejde.

Ptah Dunbar en Tadlock klon

Ptah Dunbar

Ptah Dunbar

Ptah er skaberen bag af WP Framework og jeg vil mene, at han i kompetencer minder lidt om Justin.

Han skriver også en del om WordPress på sin private blog.

Det bliver spændende at se om Ptah’s WP Framework kommer til at blive brugt, eller om det udelukkende bliver ThemeHybrid Child themes. Jeg ved ikke hvor stort et community der er omkring WP Framework, men Justin har vist rundet 20.000 brugere for en del tid siden.

Hvorfor er DevPress et spændende projekt?

Det er spændende fordi gutterne vil arbejde ud fra denne ambition:

DevPress seeks to be the very best at an array of WordPress solutions.

Og jeg er slet ikke i tvivl om at gutterne har formatet. Så jeg glæder mig til at de åbner helt op for godteposen, men det jeg har set indtil videre ser fantastisk ud. Klik over på sitet, og få besked om hvornår de starter, eller følg dem på twitter.

Sådan sikrer du din WordPress installation

Sådan sikrer du din WordPress installation

Sådan sikrer du din WordPress installation

Sådan sikrer du din WordPress installation

Ligesom alle andre CMS’er, så er WordPress også mål for diverse angreb. Du behøver dog ikke stå måbende tilbage og lade gale russere overtage dit site. Du kan tage sagen i egen hånd, og gøre dit for at forhindre uindbudte gæster.

Hold din WordPress installation opdateret

Det gælder både plugins, temaer og WordPress i sig selv. Selvom det altid er rart at have den danske udgave af WordPress, så kan det på det varmeste anbefale at opdatere, når der kommer nye versioner. Du kan eventuelt gemme sprogfilerne, og genbruge dem indtil den danske udgave er klar.

Jeg bruger med stor fornøjelse Ozh’ Admin Drop Down Menu, som viser små talebobler, når der er opdateringer til noget. På den måde er jeg aldrig i tvivl. Plus det er umådeligt meget federe med en horisontal navigation end en vertikal i backenden.

Fjern versionsinformationer

Selvom du selvfølgelig sørger for at holde din installation up-to-date 😉 så kan det anbefales at fjerne informationer om hvilken version af WordPress du kører. I nogle temaer (men ikke alle) kan du finde denne information i din header.php. Og den ser cirka således ud:
meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>”

Slet det fra filen og gem den. Fra WordPress 2.6 kom denne information automatisk i headeren, som en del af WP core. Derfor kan du med fordel installere WP Security Scan eller Exploit Scanner, som kigger på flere risici ved dit site, og fortæller dig hvad du kan gøre for at løse problemet.

Installér Akismet og undgå spam

Dette er for så vidt ikke noget som vil afhjælpe nogle hackere, men det vil fjerne 99,9% spam fra dit site.

Akismet stopper næsten alt spam

Akismet stopper næsten alt spam

Akismet er et plugin som er udviklet af Automattic (dem som er primus motor på WordPress).

Skift dit login navn

Fra WordPress 3.0 kan man vælge login navn ved installation. Men os som har været med i længere tid, har som standard fået admin som brugernavn. Det ved de onde hackere også!

Derfor bør man oprette en ny administrator-bruger og slette den eksisterende admin-bruger. Du gør bare således:

  1. Opret en nye admin-bruger med et “ordentligt” brugernavn
  2. Log ud og log ind som den nye admin bruger
  3. Navigér hen til brugere og slet den gamle admin bruger
  4. I sletteprocessen får du mulighed for at overføre alle den gamle admin-brugers indlæg og kommentarer til den nye bruger.

Tag backup

Det kan aldrig siges nok gange, det er så vigtigt, for du kan ikke altid regne med at din host kan finde deres backup, hvis de altså tager en 😯

Brug fx Filosofico’s plugin WordPress Database Backup, som tager backup af din database og sender det til din mail eller lægger det på din server.

Vælg et specielt database prefix

Når du installerer WordPress, så skal du vælge et database prefix. Som standard er dette _wp, men det anbefales at ændre dette til noget andet. For ligesom med standard admin-brugerens navn, så ved de onde også dette 😉

Hvis du allerede har _wp som databaseprefix, så kan du ændre det i din wp-config.php (men husk også at ændre det hos din host så)

Sørg for cookie kryptering

define('AUTH_KEY',         'A3js^-2aTz$K{AYtqY,F?>h=U*;4Ghn85T-;mD^n_Nr>&3*`~ne_|Xw;4b>7Q[hy');
define('SECURE_AUTH_KEY',  'U?n[STc>X?gW0!{a-0F)o!c1bN48w)YlG6I-VRt)rVF[WdYm7cUV{joO|Q;+6<sZ');
define('LOGGED_IN_KEY',    '/#1n@[8I>0XNLN%D&ZjB(fr%TLY}2<xF#dcn:r+wQx2R)p:Mj*BRH4~|xU<lpH21');
define('NONCE_KEY',        'X$~a!^r;_qQ/q1!TyXBQ2+6GB8[Z:ntFPScD@^^%,5 #J6@Wh.3O$ C~#![ooH=q');
define('AUTH_SALT',        'nVGrdlIY/tq4RQ?#n{[6}5v{!D|Bz8B+CQgT88~gjzc%a&we&x6~*O|CF>Z$Qo`^');
define('SECURE_AUTH_SALT', '1-m#&wg)IPv|=~B2r9~smnH$7(2RqIY= f0DFIvZN/t2y?sp7+@=1`V>wrUza2U!');
define('LOGGED_IN_SALT',   'tTnm?|bcJJ]NV.!j-a0$]Afg+Q0C^dv@_a C4*S9[;:TA|rZPFl1,0k>B>QW(~Tb');
define('NONCE_SALT',       ']5Nu8Yk3oSyk_Wn>]eplQ15h78}Atnd>MC|.iF*HZ`QQK3YgHl9WJUbytzJ%+,5k');

Med WordPress’ secret key generator, kan du sørge for, at cookies bliver krypteret og det bliver mere besværligt at stjæle din identitet. Det kan så også være du skal logge ind lidt oftere, men det er en lille pris at betale…

Du skal bare klikke på linket ovenfor og få en vilkårlig genereret nøgle. Disse 6 linjer skal så ind i din wp-config.php

Men mit WordPress site er allerede blevet hacket

Hvis det er gået galt, så kig på dette overblik over hvad du skal gøre.

Der er et utal af andre tiltag man kan foretage sig såsom: IP blokering af ens WP-admin mappe, IP-banning, Log ind via SSL, skift navn på din .htaccess fil og en masse andet, men jeg har taget fat i nogle af de mest fundamentale ting her. Men har du andre gode råd eller ideer, så kom endelig med dem i kommentarerne.

Så bygger vi om på WordPress.dk

WordPress.dk trækker i nye gevanter

Så bygger vi om på WordPress.dk

Så bygger vi om på WordPress.dk (Klik på billedet for at komme til ophavspersonen på Flickr)

I forbindelse med opdateringen til WordPress 3.0, fik WordPress et nyt standard tema. Det gamle tema var udviklet af danske Michael Heilemann, men nu er det blevet sendt på pension.

Det nye standard-tema tilbyder en masse lækre features, som helt sikkert gør det værd at overveje på dit site.

Jeg har tweaket 2010-temaet her på WordPress.dk lidt, så vi på forsiden kun ser uddrag af artiklerne. Men tilgæld har jeg sørget for, at vi får vist thumbnails (hvis de er der). Det er ikke store ting, men djævlen er i detaljen 🙂

Det næste trin bliver at kigge lidt på menuen. Der trænger til at blive ryddet op.

Men kom gerne med tanker ideer og irritationer i kommentarerne 🙂

Skal Matt Mullenweg sagsøge Chris Pearson?

Debatten mellem Matt Mullenweg og Chris Pearson

Debatten mellem Matt Mullenweg og Chris Pearson

For nyligt har Matt Mullenweg fra Automattic og Chris Pearson som står bag WordPress temaet Thesis haft heftig debat på Twitter. Debatten tangerer et intellektuelt slagsmål over hvilke muligheder Chris Pearson har for at lave sit tema som closed source og kan ende i et søgsmål, da Chris ikke gider at bøje sig på trods af at Matt flere gange har spurgt om Chris har lyst til at være den første indenfor WordPress verdenen der skal prøves mod GPL’en.

Afledt af de skriftlige slagsmål har Andrew Warner fra Mixergy.com inviteret dem til en debat, som man kan høre her (Jeg ville gerne embedde videoen, men jeg kan ikke få det til at fungere). Det er spændende, for det giver stof til eftertanke ift. hvad det indebærer at bygge temaer og for den sags skyld plugins ovenpå WordPress.

Det er helt sikkert værd at høre deres slagsmål, og jeg synes Matt klart kommer ud som sejr-herre.

Der er flere underholdende indslag undervejs. Fx når Chris mener har er i en historisk top 3 af WordPress skikkelser i verden (og Matt kommenterer hans ydmyghed), eller når han siger at han ikke gider at følge licenser (GPL), fordi det passer dårligt til hans forretningsmodel 🙂

Et kig i GPL’en ift temaer og plugins i WordPress

Diskussionen handler mest af alt om, hvad et afledt værk er. I GPL’en står der i § 5

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

OK, men har Chris Pearson lavet afledte værker af WordPress? Nej, det har han selvfølgelig ikke, men derfor skal vi forstå hvad der menes med Program. Og her skal vi kigge til § 0 som skriver:

The “Program”, below, refers to any such program or work, and a “work based on the Program” means either the Program or any derivative work under copyright law

Og her kommer jeg til kort, for den vigtige sætning må være work based on the Program. Det er temaer formentlig, men det er ret vagt formuleret. For der kunne også menes videreudviklinger af WordPress.

Matt har dog tidligere haft fat i Software Freedom Law Center. Og de mener at alt php kode skal licenseres som GPL, men CSS og billeder kan gå fri med denne udtalelse:

In the WordPress themes, CSS files and images exist purely as data to be served by a web server. WordPress itself ignores these files[1]. The CSS and image files are simply read by the server as data and delivered verbatim to the user, avoiding the WordPress instance altogether. The CSS and images could easily be used with a range of HTML documents and read and displayed by a variety of software having no relation to WordPress. As such, these files are separate works from the WordPress code itself.

Så hvem har ret? Let the flamewar begin 😉

Easter Egg i WordPress 3.0 skaber vrede i communitiet

Hvorfor må vi ikke vælge hvordan det skal se ud, når vi skriver WordPress? (billede af Pattista fra flickr)

Hvorfor må vi ikke vælge hvordan det skal se ud, når vi skriver WordPress? (billede af Pattista fra flickr)

Vi er sikkert flere som har forsøgt at finde ud af hvad påskeægget var i den nye WordPress 3.0 video. Flere har foreslået sammenligning af revisioner, hvilket fører til Matrix-lignende tilstande 😉 men denne lille feature blev introduceret allerede i WordPress 2.6.

Nej, umiddelbart er det en lille feature, der længe har huseret på WordPress.com. Den gør, at hvis man staver WordPress forkert, så rette WordPress det selv. Umiddelbart en rar feature, men den er ikke uden problemer. Funktionen hedder capital_P_dangit og har fundet vej til WordPress af en interessant vej…

Vejen til WordPress core

I WordPress’ Codex står der følgende:

Your code won’t go far without a ticket in trac. Create one.

Og det er her, at et af problemerne opstår, for der har aldrig været en trac-ticket på denne “feature”. Den er kommet direkte ind i core, uden at WordPress-communitiet kunne kommentere, eller komme med bedre kodeforslag.

Matt Mullenweg er tit blevet beskrevet som en godmodig eller velvillig diktator, men flere synes at dette er at gå over stregen. For spillereglerne skal gælde alle, ikke kun øvrigheden.

Til en bruger som prøver at gøre opmærksom på det via Trac skriver Austin Matzko bedre kendt som Filosofo

I’m sympathetic. But proliferating tickets doesn’t help anyone.

Matt Mullenweg is the WordPress project leader; he originated the change and has repeatedly defended it, so it’s unlikely to change in the short term.

Hvorfor er dette et problem?

Jeg synes at Justin Tadlock har summeret det udemærket op i hans meget kommenterede blogindlæg.

  • The code literally breaks things like URLs on some sites. For example, suppose you installed WordPress in a /Wordpress directory. That would cause all kinds of trouble with things like images.
  • This function is effectively changing what people write, and WordPress should not have editorial control over the content of anyone’s blog.
  • The code was committed to WordPress without a Trac ticket, so it wasn’t left open to community discussion beforehand.
  • Matt’s responses seem to dismiss the very community of people that help make WordPress what it is.

Justin Tadlock Tema og plugin udvikler

Og Justin fortsætter med at true (for sjov, men også for at vise hvor irriteret han er), at alle hans plugins vil fjerne dette filter:

But, since we’re voting with plugins, there’ll be 16 other plugins that will disable this filter soon enough. All of my plugins will have this bug fix added to them in their next updates.

Det er da en form for “civil” ulydighed, som WordPress “ledelsen” ikke kan se sig blind for eller hvad?

Opt-in eller opt-out

Alle der arbejder (eller leger) med at sælge et produkt, en idé, et nyhedsbrev eller lignende ved at der er en stor forskel på, om ting er fortjekket. Man vil kunne øge sine konverteringer betragteligt, ved “at hjælpe” brugerne på vej, til at tage de rigtige beslutning.

På samme måde med denne diskussion, så er der en del debat om hvad der er plugin-territory. Matt Mullenweg argumenterer for at man bare kan lave et plugin, der fjerner denne funktion. Men der er flere der mener at denne feature burde være et plugin á la Hello Dolly, som vi alle kender (og har deaktiveret eller slettet…).

I don’t think WordPress should be forcing anything upon its users, especially when it comes to content. If people want to misspell something, let them do that.

Jeffro fra WPtawern

Hvis ikke du kan lide lugten i bageriet, så…

Matt står dog rimelig stejlt på, at der ikke kommer ændringer med følgende (lidt harske) udtalelse fra WP-hackers mailing listen.

As I said before, you are in /complete control/ of your site. It’s a single line to remove a filter. If you don’t like the filter, vote with your feet or with a plugin.

Matt Mullenweg Lead developer WordPress

Men hvis flere af de store kanoner som Justin, Jeffro og Dougal (nedenfor) ikke synes om det, så kan vi da håbe på at Matt ændrer sin mening.

I was all ready to ignore this issue as “dontcare” until I realized that it could break URLs. So now I find myself reversing my feelings on it in favor of removing the filter.

Dougal Campbell WordPress ‘Developer Emeritus’

Gad vide hvor mange der staver Mat Mulenweeg rigtigt, det kræver da et filter 😉

Hvad synes du? Er der behov for dette? Hvorfor fylde ekstra kode på WordPress, som ikke er med til at gøre det et bedre CMS?

Gør WordPress hurtigere med trick i functions.php

Dette er en lille guide til at gøre din WordPress installation lidt hurtigere. Jeg gør det ved at finde ud af hvilke javascripts og stylesheets jeg har kørende på mit site, og derefter sørge for, at de kun hentes, når der er behov for det.

Jeg vil i dette eksempel lege med WP-PostRating (et plugin der gør det muligt at vurdere indlæg) og Contact Form 7 (et kontakt formular plugin).

Pointen er at jeg kun vil have PostRatings til at loade på indlægssiderne, og jeg vil kun have Contact Form til at loade på min kontaktside og en anden side hvor jeg har et lille spørgeskema kørende.

Så jeg må ned i kildekoden og finde ud af hvad den loader. Du skal lede efter noget som ender på .css og .js Jeg finder disse to steder:

Her er CSS-kildekoden fra mit site

Her er CSS-kildekoden fra mit site

Her er JavaScript-kildekoden fra mit site

Her er JavaScript-kildekoden fra mit site

Nu skal jeg sørge for, at WordPress kun henter de to funktioner, på de sider som bruger dem. Det gør jeg ved at smide denne lille kodestump ind i functions.php (og jeg beklager, men vores tema styler ikke koden så pænt 🙁 ):

Denne funktion fjerner stylesheets
add_action( 'wp_print_styles', 'my_deregister_styles', 100 );

function my_deregister_styles() {
if ( !is_page('230') && !is_single('1228') ) {
wp_deregister_style( 'contact-form-7' );
}
if ( !is_single() ) {
wp_deregister_style( 'wp-postratings' );
}
}

Denne funktion fjerner javascripts
add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );

function my_deregister_javascript() {
if ( !is_page('230') && !is_single('1228') ) {
wp_deregister_script( 'contact-form-7' );
}
if ( !is_single() ) {
wp_deregister_script( 'wp-postratings' );
}
}

Det som foregår er: Hvis IKKE (!) vi er på siden med ID 230 eller indlæget med ID 1228, så skal Contact Form ikke loade. Og hvis ikke vi er på en indlægsside, så skal PostRating ikke loade. Så simpelt er det, og nu har du sparet en masse loadtid hos dine brugere, Google og din host. Og det er alle glade for 🙂