我想我理解你现在想要实现的目标。您需要修改single.php
(或single-post-type.php
如果是CPT),则可以通过ajax、gallery或其他方式运行if 内容通过ajax查看。这是我过去用来做这件事的东西(稍加修改)。
这是主循环,就像您上面指出的那样。我们假设fancybox已加载并准备就绪。
while($loop->have_posts()) : $loop->the_post();
echo \'<a href="\'.get_permalink().\'" class="fancybox fancybox.ajax">\'.
get_the_post_thumbnail($post->ID, \'some-size\', array(\'class\' => \'some-class\')).\'</a>\';
endwhile;
将此函数添加到
functions.php
. 如果通过ajax请求查看内容,则返回true。
// content loading in ajax?
function is_ajax() {
return (isset($_SERVER[\'HTTP_X_REQUESTED_WITH\']) &&
$_SERVER[\'HTTP_X_REQUESTED_WITH\']=="XMLHttpRequest");
}
然后在你的单曲中,你会想弄清楚你是否在使用ajax,创建类似这样的内容:
if(is_ajax()){
echo \'<div class="gallery-holder">\';
} else {
get_header();
// put any other divs that need to happen in a normal page here
}
// do something with your images here, such as an attachment loop
if(is_ajax()){
echo \'</div>\'; // close anything we opened
} else {
get_footer();
// put any other closing divs here
}
wp_reset_query();
要知道,许多人“tab browse”和so会在新选项卡中打开缩略图预览,因此这将允许您的页面仍可以使用其他方法查看。
这也取决于你想怎么做run through all the images 在single.php
.