é possível obter next_post_link

8

Eu me deparei com um problema ao usar a função next_post_link (). Parece que essa função faz eco automaticamente, por razões de posição eu preciso disso apenas para retornar o link. Existe alguma função ou solução disponível que eu possa usar para alcançar este resultado?

    
por GaryDevenay 27.06.2011 / 15:47

3 respostas

13

tente trabalhar com enlace ;

exemplo:

$next_post_link_url = get_permalink( get_adjacent_post(false,'',false)->ID ); 
$prev_post_link_url = get_permalink( get_adjacent_post(false,'',true)->ID );
    
por Michael 27.06.2011 / 16:25
2

Se você der uma olhada na fonte, next_post_link é apenas um wrapper para adjacent_post_link .

Infelizmente, essa função não recebe nenhuma forma de parâmetro 'echo', portanto você precisará replicar o código em sua própria função & retornar o valor ou pegá-lo em um buffer de saída;

ob_start();
next_post_link();
$next_post_link = ob_get_clean();
    
por TheDeadMedic 27.06.2011 / 16:25
1

Na verdade, sim: use apenas get_next_posts_link() , usando os mesmos argumentos.

A função next_posts_lin() simplesmente ecoa o valor retornado de get_next_posts_link() .

EDITAR

Erm, deixa pra lá. Eu leio errado o nome da função.

Você pode usar get_next_post() , que retorna um objeto de postagem; então você pode obter o permalink do parâmetro de objeto de ID retornado:

$nextpost = 'get_next_post( $args )';
$nextpostid = $nextpost->ID;
$nextpostlink = get_permalink( $nextpostid );
    
por Chip Bennett 27.06.2011 / 16:38