ページテンプレートファイルでグローバルな$post_object
から属性を取得することに大きな問題があります。
私はTemplate Name: Blog Page
であるtemplate-blog.php
を持っています
そのページでは、現在のページのパーマリンクを使って、Ajaxを使ってもっと投稿をロードしています。
したがって、基本的に私は同じURLでAjaxリクエストを行います。template-blog.php
が$_POST['load_more']
がtrueの場合は条件になり、yesの場合は投稿の一部を返します。
私の問題は、このページがWordPress上のブログページとして設定されているときに$post
変数を使用してページIDまたはページパーマリンクを取得できないことです(Settings-Reading-Posts Page)。
template-blog.php
が投稿ページとして設定されている場合、$post
変数は$wp_query
がその投稿の配列に持つ最初の投稿です。
私は十分に明確だったことを願っています。
通常のページの状態パーマリンクはページのパーマリンクです:
get_header();
$link = get_the_permalink();
しかし、このページが投稿ページとして設定されている場合、パーマリンクは$ wp_queryの最初の投稿のパーマリンクです。
get_header();
$link = get_the_permalink();
表示しているページにAJAXリクエストを投稿しないでください。 代わりにAJAX API を使用してください。
ブログページのパーマリンクを取得するには、次のようにします。
get_permalink( get_option( 'page_for_posts' ) );