Jag gjorde en enkel plugin för att hitta var mina olika shortcodes används. Den heter, logiskt nog, Shortcode Usage.
Plugin: No Soup
Jag gjorde en plugin (No Soup) som kan spärra vissa IP-adresser från att komma åt din WordPress-sajt och istället skicka iväg dem till en annan adress. Den kan också ta hela IP-block och peka om dem.
Det här skulle till exempel kunna användas för att neka tillträde åt svenska myndigheter militär och politiska partier och istället skicka iväg dem till Wikipedias artikel om ACTA …
Läs mer om No Soup.
Ladda ner No Soup från WordPress repository
Jonas tipsar – 2009-11-06
- wpworldmap.net: WordPress World Map – WordPress warriors, let’s conquer the world!
- Internetworld: Lindex auktionerar ut kläder på Tradera
- Mashable!: Wow, Google Really Likes Muppets!
- PimpMyWordPress.com: Display All Your Social Sites With The Cute Profiles Plugin
- Marknadsföring, SEO och Sociala Medier – Joinsimon.se: Min sista dag på Iconvert
- Holy Shmoly!: WP Super Cache Developer Documentation
- Weblog Tools Collection: WordPress 2.9 Revamps Hello World
- WP Engineer: WordPress 2.9 add_theme_support and has_post_image
- Electric Roulette – the hip side of music and pop culture: Preview the new Tom Waits LP, free.
- Bits & Pieces: Big Ben is on Twitter
- Blissnation: Fler än 3 miljoner svenska konto på Facebook
- heila-heila.blogspot.com: livet känns: Konsten att våga vara sårbar
- NRKbeta: Den beste XMPP-tjeneren
- www.expressen.se: Tystnaden kring missfall är farlig – Debatt – Expressen.se
- Smashing Magazine: The Ails Of Typographic Anti-Aliasing
- Beneath a Steel Sky: Ingen vill veta när du uppdaterade din blogg
- High Performance Web Sites: Firebug Net Panel: more accurate timing
- THOMAS H JOHNSSON: Tv – Dödar Oss.
- www.youtube.com: YouTube – How to open a bottle of wine?
- The Official Google Blog: Cutting back on your long list of passwords
WordPress World Map – let’s connect
Smart, borde man väl kunna göra med prenumerationer också
Jag gillar bara Gonzo och Beaker.
Cute profiles, den ska provas i helgen.
Det här med mitt WordPress-intresse har nog gått för långt. Jag tycker till exempel att det är en stor nyhet att ”Hello World”-inlägget ska ändras.
I’ll Shoot the Moon (Paris – 07/24/08) j a g v a r d ä r ! !
Över 3 miljoner svenskar på facebook. Någon som vet hur många som är aktiva? Som exempelvis loggat in den senaste månaden?
”om någon får dig att krympa eller skämmas i dess blotta närvaro, så kan du ganska säkert räkna med att den andra personen ser en egenskap i dig som den är rädd för hos sig själv”
Calle Schulman skriver starkt och bra om missfall.
Nej, vi kan inte vara överrens om att datum är ett ointressant begrepp på internet.
Nästa firebug kommer att ha en klart förbättrad Net-display. Äntligen.
Jag håller med Thomas. ”Ullared” kunde ha blivit så mycket varmare och vackrare. Hur kul är det att skratta åt fjånar som åker till Ullared ett par ggr om året? Öppna dörrar => PANG!
Ingen korkskruv? Inga problem!
Skapa enkel widget i WordPress
Det är enkelt att göra en widget i WordPress. Man kan givetvis göra den hur avancerad som helst, men själva grunden är enkel och jag ska visa hur det går till.
Du vet säkert att en widget är en plugin-liknande funktion som man kan placera någonstans på sin WordPress-sajt, ofta hamnar den i sidomenyn. Vanliga exempel är ”Arkiv”, ”Taggmoln” eller ”Senaste flickr-bilderna”.
Det fungerar så att man i ett tema har definierat ett antal utrymmen där man kan placera widgets, dessa utrymmen kallas för ”sidebars”. Sidebars kan man placera i sidomenyn, footern eller egentligen var som helst i temat. I varje ”sidebar” kan sen sajt-administratören dra in en eller flera widgets.
Hos mig ser det ut så här, under ”Utseende” -> ”Widgets”.
Från och med WordPress 2.8 har det blivit lättare att skapa egna widgets. Man utgår från basklassen WP_Widget och implementerar en del av metoderna.
De här metoderna måste man implementera:
class My_Widget extends WP_Widget {
function My_Widget() {
// widget actual processes
}
function widget($args, $instance) {
// outputs the content of the widget
}
function update($new_instance, $old_instance) {
// processes widget options to be saved
}
function form($instance) {
// outputs the options form on admin
}
}
register_widget('My_Widget');
Jag tänkte bygga en widget som visar min senaste status-uppdatering från sajten Yo!. Genom att logga in på yo.se och gå till URL:en http://yo.se/widget/, får man en HTML-snutt som egentligen gör hela jobbet åt oss när det gäller att visa senaste status. den ser ut så här:
Det allra enklaste hade förstås varit att klippa in den här koden i en text-widget, men då hade det här inte blivit ett exempel på hur man skapar en WordPress-widget, så vi struntar i det och går vidare 🙂
Jag kallar widgeten för ”Yo Status”, så min widgetklass ska få namnet ”Yo_Status_Widget” och de metoder jag ska implementera blir följaktligen:
- Yo_Status_Widget() – konstruktor
- widget() – funktionen som ska skicka ut widget-koden till webbläsaren
- update() – Det ska gå att konfigurera widgeten. update() ser till så att man kan ändra aliasnamn (yo-användare)
- form() – Skapar formuläret för att ändra aliasnamn
Yo_Status_Widget()
Skapa ett WP_Widget-objekt med rätt metainfo och options. ”classname” nedan är alltså css-klassen i det omslutande HTML-elementet.
function Yo_Status_Widget() {
$widget_ops = array('classname' => 'widget_yo_status',
'description' => 'Display status from Yo! (http://yo.se)' );
$this->WP_Widget('yo-status', __('Yo Status'), $widget_ops);
}
widget()
function widget($args, $instance) {
extract($args, EXTR_SKIP);
echo $before_widget;
$alias = empty($instance['alias']) ? ' ' :
apply_filters('widget_alias', $instance['alias']);
?>
update()
Den här funktionen anropas efter att användaren matat in ett yo-alias och klickat på "Spara"
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['alias'] = strip_tags($new_instance['alias']);
return $instance;
}
Formuläret som möjliggör ändring av yo-användare.
form()
function form($instance) {
$instance = wp_parse_args( (array) $instance, array( 'alias' => '') );
$alias = strip_tags($instance['alias']);
?>
Resultat
Till slut bakar jag ihop alltihop till en ny plugin. Det hade i och för sig gått att deklarera hela widgeten i functions.php, men jag föredrar att inte röra temafilerna så mycket.
Jag gjorde en plugin av alltihop genom att skapa filen /wp-contents/plugins/yo-status/yo-status.php. En del av outputen i widget()-metoden är här utbruten i en egen metod.
'widget_yo_status', 'description' => 'Display status from Yo! (http://yo.se)' );
$this->WP_Widget('yo-status', __('Yo Status'), $widget_ops);
}
function yo_status($alias) {
?>
yo_status($alias);
echo $after_widget;
}
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['alias'] = strip_tags($new_instance['alias']);
return $instance;
}
function form($instance) {
$instance = wp_parse_args( (array) $instance, array( 'alias' => '') );
$alias = strip_tags($instance['alias']);
?>
Resultatet syns längst ner i högersplaten, eller om jag ändrat något, så såg det en gång ut så här: