Ping services i WPMU och WP3 Multisite

av jonas den 2010/06/26

Efter att jag aktiverade Multisite i WordPress 3 upptäckte jag att Ping Services försvann från Settings – Writing. Det kändes ju helt konstigt att en sådan funktion skulle försvinna för att jag kör flera bloggar i samma WordPress, men så är det tydligen. Jag började googla på nätet och twittrade om det (här och här). Jag kom fram till att om man aktiverar Multisite i WordPress 3, eller använder WordPress MU så avaktiveras Settings – Writing och bloggen pingar enbart rpc.pingomatic.com . Detta är ju jättebra – om man har en engelsk blogg så klart.

Lösningen på det här är att ändra ett val (option) i WordPress databas. För att göra detta kan du använda till exempel phpMyAdmin eller varför inte mysql kommandot? Tabellen du skall redigera heter PREFIX_nummer_options, där prefix är det tabellprefix du valt i wp-config.php och nummer är det blog id din blogg har. Har du inte ändrat prefix i wp-config.php använder du standardprefixet wp_ . Blog ID hittar du i tabellen wp_blogs i din databas. Exempelvis heter den andra bloggens tabell: wp_2_options.

I tabellen wp_2_options skall du söka efter ett namn (option_name) som är ping_sites . Det värdet (option_value) vill vi ändra. Som standard ligger texten http://rpc.pingomatic.com/ där och vi vill lägga till fler tjänster. Det gör vi genom att separera flera tjänster med ett radbryt (\n).

Innan vi ändrar i tabellen tittar vi på Svenska pinglistan.. Jag hamnade på Thord Daniel Hedengrens Svenska pinglistan i min jakt på lösning för ping services i WordPress. Där fanns en lista över de tjänster i Sverige man bör pinga om man har en svensk blogg. Listan är:

http://nyligen.se/ping/

http://rpc.pingomatic.com/

http://rpc.twingly.com

http://ping.bloggnytt.se

http://rpc.aitellu.com

Vad de olika tjänsterna är kan du läsa om på Svenska pinglistan. För att lägga in dessa tjänster i din blogg skriver du följande SQL-kommando:

UPDATE wp_2_options SET option_value="http://nyligen.se/ping/\n

http://rpc.pingomatic.com\nhttp://rpc.twingly.com\n

http://ping.bloggnytt.se\nhttp://rpc.aitellu.com" WHERE
option_name="ping_sites" LIMIT 1;

Att du skall göra backup av din databas och inte göra sådant här om du inte förstår vad du gör tar jag för givet att du har koll på.

  • Det verkar som allt man behöver göra är följande:
    add_filter('enable_update_services_configuration', '__return_true');

    (Och kanske då detta)
    if (!function_exists('__return_true')) {
    function __return_true() {
    return true;
    }
    }

    Jag har gjort en plugin. Men vet inte om det ens om den behövs. Ganska så enkelt att göra själv. Fast. Såklart. En plugin så man kan aktivera de lätt på alla siter är väl kanske bra. Annars kan man ju bara hacka in detta själv.
  • Tillägg. En WP-utvecklare svarade på twitter och sa att köra add_filter med prio 11 är bra. "@westi: @DMRsweden The best thing to do is to use the add_filter but with priority 11 that way it will run after the default filter and win"
  • Snyggt! Hade varit gött med en plugin för att kunna hantera det här / blogg i multisite.
  • jonasbjork
    Det kommer en plugin. Skriver en sådan :)
  • jonasbjork
    Jag behövde inte skriva en plugin för det. David ovanför fixade det. Se min nya post.
blog comments powered by Disqus

Föregående post:

Nästa post: