Alterar dinamicamente os links de navegação (próximos e anteriores) no Wordpress via AJAX

Eu tenho no meu site wordpress, dentro do loop de single.php, uma tag de seleção em que as opções são os posts da categoria atual retornados através de uma consulta personalizada.

Ao alterar a opção selecionada, eu tenho muitas funções javascript que estão funcionando bem, mas a última função entre elas (function f_next-previous), parece não funcionar.

O objetivo desta função é atualizar os links seguinte e anterior sem recarregar a página.

O código relativo aos links de navegação (próximo e anterior) no meu modelo está funcionando bem e está acima:

<div id="nav-above" class="navigation">

<div class="nav-previous"><?php previous_post_link( '%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/previous.png" />' ); ?></div>

<div class="nav-next"><?php next_post_link( '%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/next.png" />' ); ?></div>

</div><!-- #nav-above -->   

O código javascript desta função é:

function f_next-previous(id)
{
       $.ajax({  
       cache: true,  
       type: "GET",  
       timeout: 5000,   
       url: 'wp-content/themes/twentyten/pages/next-previous.php?p='+id,  
       success: function(msg)  
        {  

    $('#nav-above').html(msg);

        },  
        error: function(msg)  
        {  
           alert("Your browser broke!");
                return false;
        }  
});

}

O arquivonext-previous.php&nbsp;o conteúdo é:

<?php
$p=$_GET['p']; 
require( '../../../wp-load.php' );



$my_query = new WP_Query();
$my_query->query(array( 'post__in' => array($p)));

if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post();  ?>


<div class="nav-previous"><?php previous_post_link( '%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/previous.png" />' ); ?></div>
<div class="nav-next"><?php next_post_link( '%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/next.png" />' ); ?></div>

<?php

endwhile;
endif;

?>

Ao testar este arquivo php, dando-lhe um valor para o parâmetro p, dá resultado lógico no navegador. Jquery e scripts de funções estão bem incluídos e todo o AJAX no meu site está ok. O que estou faltando nessa obra ????

ATUALIZAR:&nbsp;Note que a parte do meu arquivo single.php responsável por acionar a chamada AJAX é:

   <form method="post" action="">  

    <select class="select2"  name="" id="" >
    <option value="<?php the_ID();?>"><?php the_title();?></option>

    <?php 
global $post;
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$myposts = get_posts("paged=$paged&category=4");

foreach($myposts as $post) :?>

        <option value="<?php the_ID();?>"><?php the_title();?></option>

        <?php endforeach;
        wp_reset_postdata(); ?> 

        </select>
        </form>