← Ta mig hem

Kategori "Webbutveckling"

Felaktig metadata när man delar en länk på Facebook

Monday, 13 February, 2012 - Inga kommentarer

Ibland när man har uppdaterat sin hemsida och vill visa Facebook hur häftig allt nytt är kan det dyka upp problem med metadatan om sidan. När man postar en länk på Facebook hämtas information om sidan för att kunna visas, exempelvis bilder, metadescription och titel.

När man uppdaterar sin sida, med helt färska bilder och data, kan Facebook få för sig att hämta information från den gamla versionen av sidan. För att lösa detta upptäckte jag att man kan använda Facebooks debug-verktyg för att hämta en helt ny version av sidan.

Bara fyll i adressen i fältet “Input URL or Access Token” och klicka på Debug.

Om man sedan lägger in länken på Facebook bör all metadata nu vara uppdaterad. Man behöver inte vara inloggad på Facebook för att göra detta.

Custom Post Type Labels, bättre formatterade

Wednesday, 21 December, 2011 - Inga kommentarer

När man lägger till nya post-typer i ett WordPress-tema eller plugin har man möjlighet att ändra texter som visas i admin-gränssnittet. Man kan även använda localization med dessa. Det här är bara ett template för att enkelt copy-pastea in alla labels och snabbt komma igång med att ändra deras värde.

$labels = array(
 'name' => __('', 'domain'), // - general name for the post type, usually plural. The same as, and overridden by $post_type_object->label
 'singular_name' => __('', 'domain'), // - name for one object of this post type. Defaults to value of name
 'add_new' => _x('', 'domain'), // - the add new text. The default is Add New for both hierarchical and non-hierarchical types.
 // - When internationalizing this string, please use a gettext context matching your post type. Example: _x('Add New', 'product');
 'all_items' => __('', 'domain'), // - the all items text used in the menu. Default is the Name label
 'add_new_item' => __('', 'domain'), // - the add new item text. Default is Add New Post/Add New Page
 'edit_item' => __('', 'domain'), // - the edit item text. Default is Edit Post/Edit Page
 'new_item' => __('', 'domain'), // - the new item text. Default is New Post/New Page
 'view_item' => __('', 'domain'), // - the view item text. Default is View Post/View Page
 'search_items' => __('', 'domain'), // - the search items text. Default is Search Posts/Search Pages
 'not_found' => __('', 'domain'), // - the not found text. Default is No posts found/No pages found
 'not_found_in_trash' => __('', 'domain'), // - the not found in trash text. Default is No posts found in Trash/No pages found in Trash
 'parent_item_colon' => __('', 'domain'), // - the parent text. This string isn't used on non-hierarchical types. In hierarchical ones the default is Parent Page
 'menu_name' => __('', 'domain') // - the menu name text. This string is the name to give menu items. Defaults to value of name
 );

Read More visas inte i WordPress

Wednesday, 2 November, 2011 - Inga kommentarer

Tydligen finns det en feature i WordPress som hindrar Read More-länken från att renderas om man anropar the_content("Read more") i något annat sammanhang än där poster normalt sett förekommer, som shortcode-funktion anropad på en Page exempelvis.

Den snabba enkla lösningen på detta är att i loopen explicit säga åt readmore att visas.

 global $more; $more = 0; the_content('Read ALL the article...');

Obviously.

Utvecklingsdomäner med Apache

Tuesday, 4 October, 2011 - Inga kommentarer

För en webbutvecklare med många projekt igång samtidigt kan sökvägar ställa till problem. För att undvika sökvägsproblem när man utvecklar mot en lokal server (Mamp, Xampp eller liknande) och har http://localhost som root-katalog kan man skapa egna domäner som leder till ett specifikt projekt.

Ett av de vanligaste problemen jag har dykt på med lokal utveckling är att root-katalogen är localhost och inte localhost/projektnamn som jag vill att det ska vara. På grund av det kommer absoluta sökvägar till stilmallar och javascript strula och inte hittas.

Lösningen på det problemet är självklart att skapa egna domäner som pekar till din lokala server och rätt projektkatalog.

För att lyckas med det behöver man lägga till lite saker på två ställen. Den ena är /etc/hosts-filen och den andra är Apache’s httpd.conf-fil. I det här exemplet kommer jag använda mig av en WordPress-installation som ligger installerad under katalogen http://localhost/wordpress och ska skapa domänen wordpress.dev.

hosts

Vissa saker skiljer sig mellan operativsystemet, och jag kommer lista OS X och Windows 7.

Mac OS X

Starta terminalen och skriv sudo nano /etc/hosts

Windows 7

Windowstangent+r (kör) och skriv in %WINDIR%\system32\drivers\etc\hosts öppna med din favorit-editor.

Sist i filen, lägg till raden:

127.0.0.1    wordpress.dev

Stäng sedan filen.

httpd.conf

Filen httpd.conf ligger i katalogen där Apache installerades och bör inte vara alltför svår att hitta. Öppna med favorit-editorn. Längst ner i filen lägg dessa rader:

<VirtualHost 127.0.0.1>
  ServerName wordpress.dev
  DocumentRoot "/Applications/MAMP/www/wordpress/"
</VirtualHost>

Din DocumentRoot skiljer sig nog.

Starta om Apache och testa sedan att navigera in till wordpress.dev. Om det inte fungerar, eller om du ska lägga till fler domäner, kan det behövas en extra rad i httpd.conf. Precis över den första VirtualHost lägg till det här:

NameVirtualHost 127.0.0.1

Det löste mina problem när det gällde flera domäner. Det finns säkert flera andra saker man kan göra med VirtualHost i Apache, som lokala subdomäner om man så vill, men det är inget jag har testat.