如果这是一个非常宽泛的问题,我很抱歉,但我有点迷路了。
我使用以下内容显示子页面(注意:我使用的是高级自定义字段)
<?php
/**
* Template Name: Work
* Description: Work page template
*/
get_header(); ?>
<div class="header-spacer"></div>
<?php
while ( have_posts() ) : the_post(); ?>
<div class="work-intro-container">
<h1 class="work-title"><?php echo get_field(\'sub_title\'); ?></h1>
<p class="work-intro"><?php echo get_field(\'support_text\'); ?></p>
</div>
<nav class="work-menu">
<ul>
<?php
$pages = get_children( array(\'post_parent\' => 20, \'orderby\' => \'menu_order\', \'order\' => \'ASC\') );
foreach($pages as $page):
$link = get_permalink($page->ID);
$title = get_field(\'sub_title\', $page->ID);
$thumbnail = get_field(\'work_page_thumbnail\', $page->ID);
?>
<li>
<a href="<?php echo $link; ?>">
<div class="thumbnail-overlay"></div>
<img src="<?php echo $thumbnail[\'url\']; ?>" alt="<?php echo $thumbnail[\'alt\']; ?>">
<p class="thumbnail-label"><?php echo $title; ?></p>
</a>
</li>
<?php endforeach; ?>
</ul>
</nav>
<?php endwhile; // end of the loop.
?>
<?php include "modules/contact-box.php"; ?>
<?php get_footer(); ?>
这很好用。我使用的是get\\u children而不是get\\u pages,因为据我所知,没有有效的方法来限制使用后一种方法返回的页面数。
所以我想显示6个页面,并有一个按钮通过AJAX加载另外6个页面。
我毫无乐趣地读完了各种教程。
我宁愿不使用插件;我意识到喷气背包很受欢迎,但对我来说太重了。
任何建议都将不胜感激。
--
UPDATE
在进行了更多的挖掘和google搜索之后,我有了一个粗略的AJAX调用。
JS公司
var ajaxUrl = \'http://localhost:8888/spindle-2015/wp-admin/admin-ajax.php\',
perAppend = 2,
i = 0;
$(\'.js-load-more\').on(\'click\', function(e) {
e.preventDefault();
console.log(\'Clicked\');
$.ajax({
type: \'POST\',
dataType: \'html\',
url: ajaxUrl,
data: {
action: \'loadMoreWork\',
items: perAppend,
appends: i
},
success: function(data) {
$(\'nav.work-index\').append(data);
}
});
i++;
});
我的主题的功能。php
function loadMoreWork($page) {
echo $_POST[\'items\'];
echo $_POST[\'appends\'];
}
// Users logged in
add_action( \'wp_ajax_loadMoreWork\', \'loadMoreWork\' );
// Users not logged in
add_action( \'wp_ajax_nopriv_loadMoreWork\', \'loadMoreWork\' );
这是吐出来的
items
和
appends
在我的页面上。
目前有几个问题:
与我的items
和appends
变量,有一个随机0
正在追加。它是从哪里来的?我该如何杀死它?
我是应该把我想附加的所有标记都放在函数中,还是有更好的方法来模板化它?