如何识别WordPress的默认搜索表单在我的主题中检索哪个模板

时间:2017-03-29 作者:CoderScissorhands

我的搜索页面的样式有问题,我想解决它。但是,我不确定需要修改哪个模板。当我使用WordPress的默认搜索小部件时,如何找出我的主题正在调用哪个模板?

谢谢

2 个回复
最合适的回答,由SO网友:CoderScissorhands 整理而成

关于如何识别搜索页面的模板,我没有明确的答案,但此解决方案将允许您识别您正在查看的任何页面的模板,包括搜索页面(这是我想要的)。我是根据@Howdy\\u Mcgee在上面的评论中提供的建议得到这个答案的。

在函数中输入此代码段。php文件(来自here, 感谢@Howdy\\u Mcgee)并保存更改。它应该使WP打印显示的任何页面(包括搜索结果页面)的当前PHP模板的名称:

add_action(\'wp_head\', \'show_template\');
  function show_template() {
  global $template;
  echo basename($template);
 }
在站点的搜索小部件表单中键入搜索词,然后按enter键,确保使用站点内容中实际存在的一些词。这将触发您的站点调用用于返回结果的模板。

查看搜索结果页面,搜索小部件使用的模板名称应该显示在页面的某个位置,可能在顶部。

当我看到这三件事时,默认WordPress小部件使用的页面显示我的搜索结果search.php, 但你的主题可能会有所不同。

SO网友:ciaika

显示搜索结果的文件是search.php 主主题文件夹中的文件。

在下面,您可以找到一个搜索默认帖子和页面的工作示例:

\'post_type\' => array(\'post\', \'page\')
例如,如果自定义帖子类型具有\'portfolio\' 名称,然后将其添加到数组将是:

\'post_type\' => array(\'post\', \'page\', \'portfolio\')
整体search.php 示例:

<?php
/* The template for displaying Search Results pages.*/

get_header();
?>

                <!-- main -->
                <div id="main">

                <!-- intro -->
                <section class="intro">
                    <!-- search -->
                    <form action="<?php echo home_url(); ?>" method="get" class="search">
                        <fieldset>
                            <input type="text" name="s" id="s" value="<?php _e(\'Click or type here to search\',\'text_domain\'); ?>" class="text" >
                            <input type="submit" value="go" class="submit" >
                        </fieldset>
                    </form>
                    <p><?php printf( __( \'Search Results for: %s\', \'text_domain\' ), \'<strong>\' . get_search_query() . \'</strong>\' ); ?></p>
                </section>
                <div class="main-holder">
                    <!-- search results list -->
                    <section class="col" id="content">
                        <?php
                            $s = $_GET[\'s\'];

                            $args=array(
                                \'post_type\' => array(\'post\', \'page\'),
                                \'post_status\' => \'publish\',
                                \'s\' => $s,
                                \'orderby\' => \'ID\',
                                \'order\' => \'desc\',
                                \'paged\' => $paged
                            );
                            $temp = $wp_query;  // assign original query to temp variable for later use   
                            $wp_query = null;

                            $wp_query = new WP_Query($args);
                            if ($wp_query->have_posts()) : while($wp_query->have_posts()) : $wp_query->the_post();
                                $thumb_url = get_the_post_thumbnail($post->ID, \'\', array(\'alt\' => the_title_attribute(\'echo=0\')));
                        ?>

                        <!-- article -->
                        <article class="article article-alt">
                            <div class="heading">
                                <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                            </div>
                            <nav class="add-info">
                                <ul>
                                    <li><?php echo get_the_time(\'F d, Y\'); ?></li>
                                    <li class="data"><?php the_category(\', \') ?></li>
                                    <li class="data"><?php echo $cat_slug; ?></li>
                                    <li><?php comments_popup_link(__(\'0 Comments\', \'text_domain\'),__(\'1 Comment\', \'text_domain\'), __(\'% Comments\', \'text_domain\')); ?></li>
                                </ul>
                            </nav>
                            <?php if ($thumb_url) { ?><figure class="visual"><?php echo $thumb_url; ?></figure><?php } ?>
                            <?php the_excerpt(); ?>
                            <a class="more" href="<?php the_permalink(); ?>"><?php _e(\'Read more ...\',\'text_domain\'); ?></a>
                        </article>

                        <?php 
                            endwhile; 
                                else: 
                                    _e(\'<h2>Nothing Found</h2>\',\'text_domain\');
                                    echo \'<p>\'.__( \'Sorry, but nothing matched your search criteria. Please try again with some different keywords.\', \'text_domain\' ).\'</p>\';
                            endif;
                        ?>

                        <!-- paging -->
                        <nav class="paging">
                            <ul>
                                <?php
                                    if(function_exists(\'wp_pagenavi\')) { wp_pagenavi(); }                               
                                ?>
                            </ul>
                        </nav>

                        <?php
                            $wp_query = null;
                            $wp_query = $temp;
                        ?>

                    </section>
                    <!-- sidebar -->
                    <aside class="col" id="sidebar">
                        <?php dynamic_sidebar("Blog Sidebar") ?>
                    </aside>
                </div>
            </div>
            <!--/ main -->