0
目标效果是:单击放大图标时,它使用“Fancybox”插件在自定义字段中显示大尺寸图像(用逗号分隔的多个图像) et_gallery”。使用自定义字段中的图片的放大功能“et_gallery”
现在放大镜根本不起作用。 http://heidixu.com/#!/?page_id=4
它工作正常。然后我意外地用早期版本替换了最终代码。所以我现在有的版本是非常接近,但有些东西是不正确或缺少,我不知道什么,因为我不是一个专家在PHP ...
这是该页:http://heidixu.com/#!/?page_id=4和其他每页缩略图的工作原理是一样的。
这是我目前的PHP代码版本已编辑:
<?php
/*
Template Name: Portfolio Page
*/
?>
<?php
$et_ptemplate_settings = array();
$et_ptemplate_settings = maybe_unserialize(get_post_meta($post->ID,'et_ptemplate_settings',true));
$fullwidth = true;
$et_ptemplate_showtitle = isset($et_ptemplate_settings['et_ptemplate_showtitle']) ? (bool) $et_ptemplate_settings['et_ptemplate_showtitle'] : false;
$et_ptemplate_showdesc = isset($et_ptemplate_settings['et_ptemplate_showdesc']) ? (bool) $et_ptemplate_settings['et_ptemplate_showdesc'] : false;
$et_ptemplate_detect_portrait = isset($et_ptemplate_settings['et_ptemplate_detect_portrait']) ? (bool) $et_ptemplate_settings['et_ptemplate_detect_portrait'] : false;
$gallery_cats = isset($et_ptemplate_settings['et_ptemplate_gallerycats']) ? (array) $et_ptemplate_settings['et_ptemplate_gallerycats'] : array();
$et_ptemplate_gallery_perpage = isset($et_ptemplate_settings['et_ptemplate_gallery_perpage']) ? (int) $et_ptemplate_settings['et_ptemplate_gallery_perpage'] : 12;
$et_ptemplate_portfolio_size = isset($et_ptemplate_settings['et_ptemplate_imagesize']) ? (int) $et_ptemplate_settings['et_ptemplate_imagesize'] : 2;
$et_ptemplate_portfolio_class = '';
if ($et_ptemplate_portfolio_size == 1) $et_ptemplate_portfolio_class = ' et_portfolio_small';
if ($et_ptemplate_portfolio_size == 3) $et_ptemplate_portfolio_class = ' et_portfolio_large';
?>
<?php get_header(); ?>
<div class="single_container et_shadow">
<div class="single_content">
<div class="entry post clearfix">
<?php get_template_part('loop','page'); ?>
<div id="et_pt_portfolio_gallery" class="clearfix<?php echo $et_ptemplate_portfolio_class; ?>">
<?php $gallery_query = '';
$portfolio_count = 1;
$et_open_row = false;
if (!empty($gallery_cats)) $gallery_query = '&cat=' . implode(",", $gallery_cats);
else echo '<!-- gallery category is not selected -->'; ?>
<?php
$et_paged = is_front_page() ? get_query_var('page') : get_query_var('paged');
?>
<?php query_posts("showposts=$et_ptemplate_gallery_perpage&paged=" . $et_paged . $gallery_query); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php $width = 260;
$height = 170;
if ($et_ptemplate_portfolio_size == 1) {
$width = 140;
$height = 94;
$et_portrait_height = 170;
}
if ($et_ptemplate_portfolio_size == 2) $et_portrait_height = 315;
if ($et_ptemplate_portfolio_size == 3) {
$width = 430;
$height = 283;
$et_portrait_height = 860;
}
$et_auto_image_detection = false;
if (has_post_thumbnail($post->ID) && $et_ptemplate_detect_portrait) {
$wordpress_thumbnail = get_post(get_post_thumbnail_id($post->ID));
$wordpress_thumbnail_url = $wordpress_thumbnail->guid;
if (et_is_portrait($wordpress_thumbnail_url)) $height = $et_portrait_height;
}
$titletext = get_the_title();
$et_portfolio_title = get_post_meta($post->ID,'et_portfolio_title',true) ? get_post_meta($post->ID,'et_portfolio_title',true) : get_the_title();
$et_videolink = get_post_meta($post->ID,'et_videolink',true) ? get_post_meta($post->ID,'et_videolink',true) : '';
$thumbnail = get_thumbnail($width,$height,'',$titletext,$titletext,true,'et_portfolio');
$thumb = $thumbnail["thumb"];
if ($et_ptemplate_detect_portrait && $thumbnail["use_timthumb"] && et_is_portrait($thumb)) {
$height = $et_portrait_height;
} ?>
<?php if ($portfolio_count == 1 || ($et_ptemplate_portfolio_size == 2 && (!$fullwidth && ($portfolio_count+1) % 2 == 0)) || ($et_ptemplate_portfolio_size == 3 && (($portfolio_count+1) % 2 == 0))) {
$et_open_row = true; ?>
<div class="et_pt_portfolio_row clearfix">
<?php } ?>
<div class="et_pt_portfolio_item">
<?php if ($et_ptemplate_showtitle) { ?>
<h2 class="et_pt_portfolio_title"><?php echo $et_portfolio_title; ?></h2>
<?php } ?>
<div class="et_pt_portfolio_entry<?php if ($height == $et_portrait_height) echo ' et_portrait_layout'; ?>">
<div class="et_pt_portfolio_image<?php if ($et_videolink <> '') echo ' et_video'; ?>">
<?php print_thumbnail($thumb, $thumbnail["use_timthumb"], $titletext, $width, $height, ''); ?>
<?php $gallery = explode(',', get_post_meta($post->ID, 'et_gallery', true));
foreach ($gallery as $item) { ?>
<a class="fancybox" href="<?php echo $item; ?>" style="display: none;" rel="gallery[<?php echo $post->ID; ?>]" title="<?php the_title(); ?>"></a>
<?php } ?>
<span class="et_pt_portfolio_overlay"></span>
<a class="et_portfolio_zoom_icon <?php if ($et_videolink <> '') echo 'et_video_lightbox'; else echo('fancybox'); ?>" title="<?php the_title(); ?>"<?php if ($et_videolink == '') echo ' rel="gallery[' . $post->ID . '"]'; ?> href="<?php if ($et_videolink <> '') echo $et_videolink; else echo($thumbnail['fullpath']); ?>"><?php esc_html_e('Zoom in','Sky'); ?></a>
<a class="et_portfolio_more_icon" href="<?php the_permalink(); ?>"><?php esc_html_e('Read more','Sky'); ?></a>
</div> <!-- end .et_pt_portfolio_image -->
</div> <!-- end .et_pt_portfolio_entry -->
<?php if ($et_ptemplate_showdesc) { ?>
<p><?php truncate_post(90); ?></p>
<?php } ?>
</div> <!-- end .et_pt_portfolio_item -->
<?php if (($et_ptemplate_portfolio_size == 2 && !$fullwidth && $portfolio_count % 2 == 0) || ($et_ptemplate_portfolio_size == 3 && ($portfolio_count % 2 == 0))) {
$et_open_row = false; ?>
</div> <!-- end .et_pt_portfolio_row -->
<?php } ?>
<?php if (($et_ptemplate_portfolio_size == 2 && $fullwidth && $portfolio_count % 3 == 0) || ($et_ptemplate_portfolio_size == 1 && !$fullwidth && $portfolio_count % 3 == 0) || ($et_ptemplate_portfolio_size == 1 && $fullwidth && $portfolio_count % 5 == 0)) { ?>
</div> <!-- end .et_pt_portfolio_row -->
<div class="et_pt_portfolio_row clearfix">
<?php $et_open_row = true; ?>
<?php } ?>
<?php $portfolio_count++;
endwhile; ?>
<?php if ($et_open_row) {
$et_open_row = false; ?>
</div> <!-- end .et_pt_portfolio_row -->
<?php } ?>
<div class="page-nav clearfix">
<?php if (function_exists('wp_pagenavi')) { wp_pagenavi(); }
else { ?>
<?php get_template_part('includes/navigation'); ?>
<?php } ?>
</div> <!-- end .entry -->
<?php else : ?>
<?php if ($et_open_row) {
$et_open_row = false; ?>
</div> <!-- end .et_pt_portfolio_row -->
<?php } ?>
<?php get_template_part('includes/no-results'); ?>
<?php endif; wp_reset_query(); ?>
<?php if ($et_open_row) {
$et_open_row = false; ?>
</div> <!-- end .et_pt_portfolio_row -->
<?php } ?>
</div> <!-- end #et_pt_portfolio_gallery -->
</div> <!-- end .entry -->
</div> <!-- end .single_content -->
<div class="content-bottom"></div>
</div> <!-- end .single_container -->
<?php if (get_option('sky_show_pagescomments') == 'on') comments_template('', true); ?>
可以在任何PHP的专家,请看一看。非常感谢。
-Heidi
这部分是固定的。 <?php if($ et_videolink =='')echo'rel =“gallery ['。$ post-> ID。'”]'; ?>双引号前的括号现在已关闭。但它仍然不会显示大图像。 – kikix2125
因为现在它产生: 错误:语法错误,无法识别的表达式:[rel = gallery [63]] 源文件:http:// heidixu,因此您无法在[rel = gallery [63]]括号中包含属性。 com/wp-includes/js/jquery/jquery.js?ver = 1.7.1 Line:3 – JFK
我想你需要rel =“gallery63”而不是rel =“gallery [63]”,但是你打开/关闭的方式你的括号实际上是生成[rel = gallery [63]] – JFK