【发布时间】:2016-11-10 11:42:16
【问题描述】:
我试图确定在当前页面之前或之后是否存在同级页面。我将它用于我的投资组合页面子页面上的“下一个”和“上一个”按钮(基本上在每个“图库”项目页面上)。
目前使用此代码获取下一个/上一个兄弟页面的链接:
<a href="<?php siblings('after'); ?>">after</a>
或
<a href="<?php siblings('before'); ?>">before</a>
通过这个脚本,我找到并放入了我的 functions.php 文件:
function siblings($link) {
global $post;
$siblings = get_pages('child_of='.$post->post_parent.'&parent='.$post->post_parent);
foreach ($siblings as $key=>$sibling){
if ($post->ID == $sibling->ID){
$ID = $key;
}
}
$closest = array('before'=>get_permalink($siblings[$ID-1]->ID),'after'=>get_permalink($siblings[$ID+1]->ID));
if ($link == 'before' || $link == 'after') { echo $closest[$link]; } else { return $closest; }
}
对我很有用,但是当您位于这些子页面的第一页/最后一页时,我想禁用下一个/上一个按钮。
也许检查之前/之后是否有兄弟姐妹不是最好的方法?我该怎么做呢?
任何建议或正确方向的观点都会很棒。即使我把整个兄弟姐妹的事情都搞错了,请告诉我。我还是 Wordpress 的新手,并不完全了解整个页面/帖子结构以及使用哪个等。我认为让每个画廊项目成为我的“工作”页面的子项是最好的,但是?谢谢!
【问题讨论】:
-
您不必为custom post type 创建页面,而是必须创建一个自定义帖子类型组合并在其中添加您的帖子。 @subver
-
嗯,好的,我会继续研究这条路线 - 谢谢!
-
所以我应该为每个画廊项目而不是页面使用帖子?
-
您应该为每个作品集项目添加一篇帖子,如果您为一个项目有多个图像,您可以将它们添加到您的帖子中。@subver
-
哦,完美,是的,我实际上想知道多图像与“特色图像”的关系,所以这是有道理的。 - 谢谢!