使用 jQuery 加载 Wordpress 页面,使网站成为第 1 页
Load Wordpress Page using jQuery to make Website 1 Page
我创建了一个包含至少 6-7 页各种内容的 wordpress 网站。我已使用自定义模板使其表现得像单页网站,并使用以下代码固定页数。
$args = array(
'post_type' => 'page',
'orderby' => 'menu_order',
'order' => 'asc',
'post__in' => array(10,12,202,14,16,18,208,20) //list of page_ids
);
$page_query = new WP_Query( $args );
//echo 'Post Id='.$post->ID;
if( $page_query->have_posts() ) :
echo '<div class="pages-on-page">';
//print any general title or any header here//
while( $page_query->have_posts() ) : $page_query->the_post();
echo '<div class="page-on-page" id="page_id-' . $post->ID . '">';
$content_post = get_post($post->ID);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
//print any output you want per page//
echo '</div>';
endwhile;
echo '</div>';
它工作正常,直到我不添加要显示的新页面。谁能建议我如何使它动态化,这样我就不必在数组中给出固定的页面 ID 数。
要列出所有页面的 ID,您可以使用 wp_list_pluck
,如下所示
$pages = get_pages(
array (
'parent' => 0, // replaces 'depth' => 1,
'exclude' => '3,5,11'
)
);
$ids = wp_list_pluck( $pages, 'ID' );
现在
'post__in' => $ids
我创建了一个包含至少 6-7 页各种内容的 wordpress 网站。我已使用自定义模板使其表现得像单页网站,并使用以下代码固定页数。
$args = array(
'post_type' => 'page',
'orderby' => 'menu_order',
'order' => 'asc',
'post__in' => array(10,12,202,14,16,18,208,20) //list of page_ids
);
$page_query = new WP_Query( $args );
//echo 'Post Id='.$post->ID;
if( $page_query->have_posts() ) :
echo '<div class="pages-on-page">';
//print any general title or any header here//
while( $page_query->have_posts() ) : $page_query->the_post();
echo '<div class="page-on-page" id="page_id-' . $post->ID . '">';
$content_post = get_post($post->ID);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
//print any output you want per page//
echo '</div>';
endwhile;
echo '</div>';
它工作正常,直到我不添加要显示的新页面。谁能建议我如何使它动态化,这样我就不必在数组中给出固定的页面 ID 数。
要列出所有页面的 ID,您可以使用 wp_list_pluck
,如下所示
$pages = get_pages(
array (
'parent' => 0, // replaces 'depth' => 1,
'exclude' => '3,5,11'
)
);
$ids = wp_list_pluck( $pages, 'ID' );
现在
'post__in' => $ids