Enlaces de navegación en edición de posts en WordPress
Algo que me desespera es tener que editar varios posts seguidos en WP (sobre todo antes del lanzamiento) y tener que ir del post actual, a la lista de post y elegir el siguiente post que necesito editar. Por ello he hecho este pequeño script que incluido en el functions.php incluye dos enlaces en la cabecera que apuntan a la edición del post anterior y al siguiente:
function add_navigation_edit_posts() {
if(preg_match('#wp-admin/post\.php#', $_SERVER["SCRIPT_NAME"]) && isset($_GET['post']) && isset($_GET['action']) && $_GET['action'] == 'edit') {
global $post;
if(!empty($post) && $post->post_type == 'post') {
foreach(array(true, false) as $prev) {
$p = get_adjacent_post(false, '', $prev);
if (!empty($p)) {
echo '<script type="text/javascript">';
echo 'jQuery(document).ready(function() {jQuery(".wrap h2").append(\''.($prev?'« ':'').$p->post_title.(!$prev?' »':'').'\');});';
echo '</script>';
}
}
}
}
}
add_action('admin_head', 'add_navigation_edit_posts');
Todo bien, pero el navegador que utilizas no tiene pestañas..??
Me gusta la idea 😉
Pero le harÃa un cambio para hacer el snippet más “WordPress compliant” 🙂
Puedes sustituir todas las condiciones del primer if por esta más sencilla:
$current_screen->id = 'post'
Upss! me deje un =, serÃa:
$current_screen->id == ‘post’
Para que no salgan los nuevos enlaces en el listado de posts, sólo en la de edición del post.
Gracias Samuel, pero el script solo sale en la edición de posts, ya que evalua esta condición:
$_GET[‘action’] == ‘edit’
Eso sÃ, seguro que al script le faltan muchas cosas 🙂
Gracias
Gracias a ti por la idea 😉
SÃ, si el script sólo sale en la edición de posts… tanto el original como con la modificación que te propongo.
Únicamente que en el primer comentario puse sólo un
=
y asà sà que darÃa el problema de salir también los listados, de ahà mi segundo comentario, poniendo==
sale sólo en la ventana de edición. Y no es necesario hacer se pedazo de if que haces 😉Yo es que soy muy fanático de usar siempre los métodos que proporciona WordPress en lugar de hacerlo con php “estándar”. Porque asà siempre tienes más opciones de compatibilidad futura e incluso de mejor rendimiento.
Pero vamos, que sÃ, que el script funciona igual en su formato original 😀