web-dev-qa-db-ja.com

new_excerpt_moreリンクが正しく機能していません

私の「もっと読む」ボタンは、リンクしているはずの抜粋ページではなく、現在のページページにリンクしています。これがfunction.phpファイルの私の関数です。

function new_excerpt_more($more) {
   global $post;
return ' <a href="'. get_permalink($post->ID) . '"> ...Read More</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

これは、wp_list_pagesのカスタムウォーカーから表示される抜粋で発生しています。

1
jppower175

グローバルな$post変数は、ループを介してpostを実行することで埋められます(the_post()メソッドまたは関数、setup_postdata()関数)。 Walker_Pageのソースを見ると、ループを実行していないので、投稿のデータを$postを通じて利用できるようにはしていません。

excerpt_moreには投稿の情報も含まれていないので、あなたは自分で投稿データを追跡し、あなたのフィルタ関数の中でそれにアクセスする必要があるでしょう。

0
Rarst