0

我正在尝试使用一个使用 ajax 的插件来帮助“ajaxify”一个 wordpress 主题。该插件几乎适用于所有页面。

它的工作方式是替换您指定的容器 div 中的内容。在我的例子中,它是“#newwrap”。这样做就可以了,唯一的问题是在重新加载内容中的 javascript/jquery 函数时必须再次调用。

在插件中有一个地方可以指示要重新加载的内容。我已经让大部分其他部分正常工作,但这个是让我难过的部分。

我在主题中有一个使用 php 过滤器的页面。当我单击该特定页面时,该页面看起来像是在 css 等中呈现,除了没有显示并且过滤器不起作用。我用firebug查看了它背后的html,内容只是没有显示出来。

这是该网站的链接:http: //nex.vyralmedia.com

在那里,请点击投资组合>图像投资组合

如果您单击该页面,它将加载并仅显示过滤器,但它们将不起作用并且内容将不会显示。如果您刷新该页面,您将看到它在不使用 ajax 的情况下应该是什么样子。

这是 wordpress 插件的链接:http ://wordpress.org/extend/plugins/advanced-ajax-page-loader/

所以在这种情况下,我正在寻找我应该使用的重新加载代码,或者只是让该部分正常工作的某种方式。

任何帮助将不胜感激。

这是它的模板页面代码:

<?php
/*
The template that is used to render pages that are targeted by the multiple portfolio behavior of Prime.
*/
get_header(); ?>
<div id="newwrap">
<?php roots_content_before(); ?>

<?php roots_main_before(); ?>

<?php
global $prime_portfolio;
$portfolio_instance = get_option(PRIME_OPTIONS_KEY);
$show_filter = false;
$page = get_queried_object();
foreach ($portfolio_instance['portfolio_instance_slider'] as $p) {
    if(key_exists('portfolio_show_filters', $p) && $p['portfolio_show_filters'][0] == 'Yes' && $p['portfolio_page'] == $page->ID) {
        $show_filter = true;
    }
}
?>

<div class="main portfolio-main <?php if($show_filter) { echo 'show-filter'; } else { echo 'no-filter'; }?>" role="main">
    <div class="subheader-wrapper">
        <div class="container_12">
            <div class="grid_12">
                <div id="subheader">
                    <?php
                    global $post;
                    global $prime_frontend;
                    $prime_frontend->prime_title_and_subtitle();
                    ?>
                    <?php if($show_filter) {  ?>
                        <div class="table select-table">
                            <select class="filter">
                               <option data-filter="*"><?php echo get_portfolio_all_filter_text(); ?></option>
                            <?php
                               global $prime_portfolio;
                               $prime_portfolio->render_all_filter_list_item();
                               $page = get_queried_object();

                                $portfolio_instance = get_option(PRIME_OPTIONS_KEY);
                                $filters = NULL;
                                foreach ($portfolio_instance['portfolio_instance_slider'] as $p) {
                                    if ($p['portfolio_page'] == $page->ID) {
                                        $filters = isset($p['portfolio_filters']) ? $p['portfolio_filters'] : NULL;
                                        break;
                                    }
                                }

                               if (!empty($filters)) {
                                   foreach ($filters as $fil) {
                                       $f = get_term($fil, 'portfolio_filter');
                                       ?>
                                       <option data-filter='article[data-filters*="<?php echo $f->slug; ?>"]'>
                                           <?php echo $f->name; ?>
                                       </option>
                                       <?php

                                   }
                               }


                               ?>
                           </select>
                        </div>
                    <?php } ?>
                </div>  
            </div>
        </div>
        <div class="clear"></div>
    </div>
    <div class="clear"></div>
    <div class="content-wrapper">
        <div class="overlay-divider"></div>

            <?php if($show_filter) { ?>
                <div class="filter-wrapper">
                    <div class="table">
                        <ul id="filters">
                            <?php
                            $prime_portfolio->render_all_filter_list_item();
                            $page = get_queried_object();

                            $portfolio_instance = get_option(PRIME_OPTIONS_KEY);
                            $filters = NULL;
                            foreach ($portfolio_instance['portfolio_instance_slider'] as $p) {
                                if ($p['portfolio_page'] == $page->ID) {
                                    $filters = isset($p['portfolio_filters']) ? $p['portfolio_filters'] : NULL;
                                    break;
                                }
                            }

                            if (!empty($filters)) {
                                foreach ($filters as $fil) {
                                    $f = get_term($fil, 'portfolio_filter');
                                    $prime_portfolio->render_filter_list_item($f);
                                }
                            }
                            ?>
                        </ul>
                    </div>
                    <div class="overlay-divider bottom"></div>
                    <div class="clear"></div>
                </div>          
            <?php } ?>      


<?php
    $page = get_queried_object();
    $page_portfolio_properties = $prime_portfolio->get_portfolio_options($page->ID);

    global $wp_query;
    $temp_query = $wp_query;

    $orig_query_vars = $temp_query->query_vars;

    $args = $prime_portfolio->get_portfolio_item_args_for($page->ID);

    $posts_per_page = -1;
    if (isset($page_portfolio_properties['portfolio_posts_per_page'])) {
        $posts_per_page = $page_portfolio_properties['portfolio_posts_per_page'];
        $posts_per_page = empty($posts_per_page) ? -1 : intval($posts_per_page);
    }
    $args['posts_per_page'] = $posts_per_page;

    if (!empty($orig_query_vars['paged'])) {
        $args['paged'] = intval($orig_query_vars['paged']);
    }
    else if (!empty($orig_query_vars['page'])) {
        $args['paged'] = intval($orig_query_vars['page']);
    }

    $wp_query = new WP_Query($args);

    $paginated = $wp_query->max_num_pages > 1 ? 'paginated' : '';
    ?>

    <div class="portfolio-wrapper">
        <div class="row-fluid clearfix page-container">
            <div class="span12">
                <!--PAGE CONTENT-->
                <div class="prime-page prime-full-width prime-portfolio <?php echo $paginated; ?>">
                    <div id="masonry-container">
                        <?php get_template_part('loop', 'portfolio'); ?>
                    </div>
                </div>
            </div>
        </div>
    </div>

    </div>
    <?php get_footer(); ?>
</div>

<?php roots_main_after(); ?>
<?php roots_content_after(); ?>
</div>
4

1 回答 1

0

opacitystyle.css您的文章项目在第 4293 行设置为 0 :

article.item {
  opacity: 0;
}

您应该删除该规则,或修改您的 js 代码以在 ajax 加载后正确设置不透明度。

于 2012-09-21T14:15:12.833 回答