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');

Similar Posts

5 Comments

  1. 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'

  2. 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.

  3. 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

  4. 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 😀

Comments are closed.