Tutorials

Canvia l’URL d’una entrada segons un camp personalitzat

WordPress és realment molt personalitzable. Per exemple, podem crear un gestor d’enllaços preferits on posar enllaços que ens puguin interessar amb una petita descripció. Això, òbviament, ho podem fer posant l’enllaç al cos de l’entrada i ja està, però què tal si posem l’enllaç al títol de l’entrada? És a dir, què us semblaria posar l’enllaç que ens interessa al títol de l’entrada en lloc de l’enllaç a l’entrada?

Sé que la idea sembla un pèl complicada, però en realitat no ho és. Podem fer servir aquest codi creat per Vlad Grubman que busca el valor dels camps personalitzats urll, title_url o url_title (tots alhora) i el posa en l’enllaç. Copio el codi tal i com el vaig trobar. Com sempre, per a fer-lo servir l’heu de col·locar al vostre arxiu functions.php:

/*
*		This function outputs post title and
*		links it either to posts's permalink 
*		(default WordPress behavior) or to
*		external link supplied in custom field
*		that should have any of the following names:
*		url1, title_url, url_title. The value of
*		the custom key should be the target URL.
*		Example: 'url1' = 'http://www.istudioweb.com/'
*
*		(C) 2008 by Vlad Grubman, www.istudioweb.com
*		Updated 11/14/2008 	-		updated way to get permalink
*
*/
function print_post_title() { 
	global $post;
	$thePostID = $post->ID;
	$post_id = get_post($thePostID);
	$title = $post_id->post_title;
	$perm  = get_permalink($post_id);
	$post_keys = array(); $post_val  = array();
	$post_keys = get_post_custom_keys($thePostID);
 
	if (!empty($post_keys)) {
  	foreach ($post_keys as $pkey) {
    	if ($pkey=='url1' || $pkey=='title_url' || $pkey=='url_title') {
      	$post_val = get_post_custom_values($pkey);
    	}
  	}
  	if (empty($post_val)) {
    	$link = $perm;
  	} else {
    	$link = $post_val[0];
  	}
	} else {
  	$link = $perm;
	}
	echo '<h3><span><?php the_time($datetitol) ?></span><span class="title"><a href="'.$link.'" rel="bookmark" title="'.$title.'">'.$title.'</a></span></h3>';
}

Ara hem d’editar l’arxiu (o arxius) on vulguem que aparegui aquest nou enllaç (index.php, single.php… per exemple). Haurem de buscar la línia de dins del loop que diu alguna cosa semblant a:

<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a>

I canviar-la per això:

<?php print_post_title() ?>

Jo he fet servir aquest codi en un altre blog i funciona a la perfecció. Simplement heu de crear un camp personalitzat des de l’editor d’entrades que es digui urll, title_url o url_title i posar-hi com a valor l’adreça sencera que volem.

Etiquetes: , , ,

Shortcodes i WordPress

Els shortcodes són petits codis, generalment entre claudàtors ([ i ]), que equivalen a altres codis més llargs i complexos. Normalment es fan servir en entrades o pàgines, és a dir, a dins del Loop de WordPress, però mitjançant un codi que veurem es poden fer servir en parts estàtiques, també.

A anieto2k han fet una llista amb alguns shortcodes útils basant-se en una llista d’Smashing Magazine, que tradueixo, explico i amplio a continuació.

Nota: els codis “llargs” els has de posar a l’arxius functions.php del teu tema.

› Segueix llegint

Obre els enllaços externs en una nova finestra automàticament

L’Albert escriu en el seu blog, docs4beto, un codi que permet estalviar molt temps si t’agrada que els enllaços externs s’obrin en una finestra nova:

<?php
function external_links_newwindow($content){
preg_match('@^(?:http://)?([^/]+)@i',get_bloginfo('url'), $matches);
$host = $matches[1];
preg_match_all( '/<a(.+?)href=\"(.+?)\"(.*?)>(.+?)<\/a>/', $content, $matches );
 
foreach($matches[2] as $match){
   if(!preg_match("|$host|i", $match))
   $content = str_replace("href=\"$match\"","href=\"$match\" target=\"_blank\"",$content);
}
return $content;
}
add_action('the_content', 'external_links_newwindow');
?>

Per a fer-lo servir, el més fàcil és copia el codi a l’arxiu functions.php del vostre tema. I si no existeix, simplement el creeu.

dimarts , 06 de gener del 2009 per Scripts, Temes, Tutorials Encara no hi ha cap comentari

Mostra l’última entrada de Twitter al teu blog

Avui remenant enllaços per fer un projecte nou he anat a parar a CSS-Tricks, una web sobre trucs de CSS i altres codis molt útils a l’hora de fer webs. Precisament a aquesta web he trobat una entrada sobre com crear una pàgina per les darreres actualitzacions a Twitter, i m’ha semblat que estaria bé compartir-la aquí.

El codi que fa servir és el següent:

1
2
3
<div id="twitter_div"><ul id="twitter_update_list"></ul></div>
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/usuari.json?callback=twitterCallback2&count=1"></script>

El codi és molt senzill. Fent servir l’API de Twitter, enllaça a un arxiu .js i a un de .json, que mostren el nombre d’actualitzacions de Twitter d’un cert usuari. El div i la llista desordenada (ul) els heu de posar tal i com estan escrits, sense modificar els artibuts id. Simplement, modifiquen el resultat amb una mica de CSS i ja està, ja teniu el últimament tan preuat Twitter al vostre blog.

Per què mostri el vostre Twitter, canvieu, a la línia 3, usuari pel vostre nom i l’1 de count=1 pel nombre d’actualitzacions que voleu que mostri.

Espero que us sigui útil!

dissabte, 13 de desembre del 2008 per Modificacions, Scripts, Temes, Tutorials Encara no hi ha cap comentari

Tutorials sobre WordPress 2.7

A Digizen estan fent una sèrie d’entrades sobre WordPress 2.7 i les seves característiques, més aviat centrada en Wordress.com però útil per veure com funcionarà al nostre propi servidor.

Actualització (11/12): Ja està solucionat, gràcies Benet!

dissabte, 06 de desembre del 2008 per General, Novetats, Tutorials, WordPress 2.7 Hi ha 2 comentaris
Rss Feed Tweeter button Facebook button Technorati button Reddit button Myspace button Linkedin button Webonews button Delicious button Digg button Stumbleupon button Newsvine button Youtube button