wordpress主题上的网格布局默认

时间:2011-02-11 14:11:35

标签: php wordpress

我在wordpress主题视图http://sight.wpshower.com/

上遇到多布局选项时遇到问题

只需点击一下按钮,流量就可以选择网格或列表布局。目前列表布局是默认的。我有兴趣使网格布局默认。

这是一些php,我尝试简单地将单词grid换成列表,但是虽然这确实有效,但如果在loop.php页面上完成它会删除网格中邮箱上的a:hover函数格式。如果在index.php上完成,它还会切换主索引页面上的按钮。

任何想法??

loop.php

   <div id="loop" class="<?php if ($_COOKIE['mode'] == 'grid') echo 'grid'; else     echo 'list'; ?> clear"> 

     <?php while ( have_posts() ) : the_post(); ?>

        <div <?php post_class('post clear'); ?> id="post_<?php the_ID(); ?>">
        <?php if ( has_post_thumbnail() ) :?>
        <a href="<?php the_permalink() ?>" class="thumb"><?php the_post_thumbnail('thumbnail', array(
                    'alt'   => trim(strip_tags( $post->post_title )),
                    'title' => trim(strip_tags( $post->post_title )),
                )); ?></a>
        <?php endif; ?> 

        <div class="post-category"><?php the_category(' / '); ?></div>
        <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>

     <!--   <div class="post-meta">by <span class="post-author"><a
                href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>" title="Posts by <?php the_author(); ?>"><?php the_author(); ?></a></span>
                               on <span
                    class="post-date"><?php the_time(__('M j, Y')) ?></span> <em>&bull; </em><?php comments_popup_link(__('No Comments'), __('1 Comment'), __('% Comments'), '', __('Comments Closed')); ?> <?php edit_post_link( __( 'Edit entry'), '<em>&bull; </em>'); ?>  
        </div>  -->  

<?php edit_post_link( __( 'Edit entry'), '<em>&bull; </em>'); ?>

 <div class="post-content"><?php if (function_exists('smart_excerpt')) smart_excerpt(get_the_excerpt(), 55); ?></div>
    </div>

  <?php endwhile; ?>

   </div>

        <?php endif; ?>

的index.php

<?php get_header(); ?>

<div class="content-title">
Projects
<a href="javascript: void(0);" id="mode"<?php if ($_COOKIE['mode'] == 'grid') echo ' class="flip"'; ?>></a>
</div> 

 <?php query_posts(array(
    'post__not_in' => $exl_posts,
    'paged' => $paged,
)
 ); ?>

 <?php get_template_part('loop'); ?>

<?php wp_reset_query(); ?>

<?php get_template_part('pagination'); ?>

 <?php get_footer(); ?>

2 个答案:

答案 0 :(得分:0)

我知道这不是最新的问题。但我想更多人会寻找答案。所以我试试看 所以我想我们遇到了很多问题:

  1. 您禁用了悬停功能,因为您在注释括号中放了太多代码。我想你只想删除作者?!这应该这样做:

    <div class="post-meta"><!-- by <span class="post-author"><a
                href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>" title="Posts by <?php the_author(); ?>"><?php the_author(); ?></a></span> -->
    
  2. 修改 index.php loop.php archive.php
  3. 然后你还必须修改'js / script.js'。
  4. 最后一步是更改'images / mode.png'。
  5. 所以这就是它的样子:

    index.php第5行:

    <a href="javascript: void(0);" id="mode"<?php if ($_COOKIE['mode'] == 'list') echo ' class="flip"'; ?>></a>
    

    loop.php第3行:

    <div id="loop" class="<?php if ($_COOKIE['mode'] == 'list') echo 'list'; else echo 'grid'; ?> clear">
    

    archive.php第22行:

        <a href="javascript: void(0);" id="mode"<?php if ($_COOKIE['mode'] == 'list') echo ' class="flip"'; ?>></a>
    

    script.js第45-63行:

            /*** View mode ***/
    
        if ( $.cookie('mode') == 'grid' ) {
            grid_update();
        } else if ( $.cookie('mode') == 'list' ) {
            list_update();
        }
    
        $('#mode').toggle(
            function(){
                if ( $.cookie('mode') == 'list' ) {
                    $.cookie('mode','grid');
                    grid();
                } else {
                    $.cookie('mode','list');
                    list();
                }
            },
            function(){
                if ( $.cookie('mode') == 'grid') {
                    $.cookie('mode','list');
                    list();
                } else {
                    $.cookie('mode','grid');
                    grid();
                }
            }
        );
    
        function grid(){
            $('#mode').removeClass('flip');
            $('#loop')
                .fadeOut('fast', function(){
                    grid_update();
                    $(this).fadeIn('fast');
                })
            ;
        }
    
        function list(){
            $('#mode').addClass('flip');
            $('#loop')
                .fadeOut('fast', function(){
                    list_update();
                    $(this).fadeIn('fast');
                })
            ;
        }
    
        function grid_update(){
            $('#loop').addClass('grid').removeClass('list');
            $('#loop').find('.thumb img').attr({'width': '190', 'height': '190'});
            $('#loop').find('.post')
                .mouseenter(function(){
                    $(this)
                        .css('background-color','#DADADA')
                        .find('.thumb').hide()
                        .css('z-index','-1');
                })
                .mouseleave(function(){
                    $(this)
                        .css('background-color','#f5f5f5')
                        .find('.thumb').show()
                        .css('z-index','1');
                });
            $('#loop').find('.post').click(function(){
                location.href=$(this).find('h2 a').attr('href');
            });
            $.cookie('mode','grid');
        }
    
        function list_update(){
            $('#loop').addClass('list').removeClass('grid');
            $('#loop').find('.post').removeAttr('style').unbind('mouseenter').unbind('mouseleave');
            $('#loop').find('.thumb img').attr({'width': '290', 'height': '290'});
            $.cookie('mode', 'list');
        }
    

    最后,您必须旋转 mode.png 180°

    适合我:在我的网站上查看:grid.alpipego

答案 1 :(得分:0)

所以不幸的是我不能评论我以前的答案。是的,我知道这个主题真的很老,但有一个解决方案。由于需要更改几个文件,因此可以在此处找到完整答案:http://alpipego.com/get-the-grid-view-by-default-sight-1-0-1-wpshower-theme-part-iii/