http://api.wipmania.com/[IPADDR]?[URL]La API que ofrecen es realmente escueta y simple, así que cualquiera puede usar este sistema sin demasiados dolores de cabeza. El resultado de la misma es un texto plano con las iniciales del pais en el que se encuentra esa IP.
Desde Wordpress podemos tener una pequeña función para disfrutar de este nuevo servicio:
function getUserCountry() {
$url = 'http://api.wipmania.com/'.$_SERVER ['REMOTE_ADDR'].'?'.get_bloginfo('home');
if (function_exists('file_get_contents')){
return file_get_contents($url);
} else {
$ch = curl_init();
query_posts(). Esta función, nos permite personalizar los posts que queremos que aparezcan, para ello disponemos de una buena batería de parámetros con los que podemos personalizar la query que nos obtiene de la base de datos.
Los que hemos lidiado con ella, somos conscientes del problema que tiene dicho método con la paginación ya que esta función es aplicada siempre y repite una y otra vez los resultados de la primera petición.
Para solventar dicho problema debemos recurrir a una condición para que nos informe de en que página nos encontramos, y así condicionar, más aún, nuestra query_posts();
query_posts() sin paginación
<?php if (have_posts()) : ?>
<?php query_posts("category_name=somecat"); ?>
add_action('admin_head',create_function('$a', "echo \"<script
type='text/javascript'>\n<!--\naddLoadEvent(function(){if(jQuery('.edit-timestamp')){jQuery('.edit-timestamp').click();}});\n//-->\n</script>\";"),50);Como vemos la magia de este sistema es gracias a la función create_function(), con la que podemos crear funciones usandolas como parámetro de la función add_action() o add_filter(), funciones que nos permiten añadir funcionalidades a Wordpress.
create_function()
create_function(String $args, String $codigo);
post_type. Una variable privada que condiciona las busquedas de query_posts(), podia ser cargada como pública añadiendo un filtro a la función query_vars(), así que así lo hemos hecho :D