Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在“中切换帖子内容”;邮政「;页面中的标题?_Javascript_Php_Wordpress_Toggle_Posts - Fatal编程技术网

Javascript 如何在“中切换帖子内容”;邮政「;页面中的标题?

Javascript 如何在“中切换帖子内容”;邮政「;页面中的标题?,javascript,php,wordpress,toggle,posts,Javascript,Php,Wordpress,Toggle,Posts,我试图在一个特定的页面中给出所有“帖子”的标题。因此,如果有人点击该帖子,其内容必须在标题下方切换,如果有人再次点击标题,则内容必须隐藏 在WP归档插件的帮助下,我解决了一半的问题。我的页面是这样的。。所以这些是 “档案”标题链接。如果有人点击它,它会变成。。我想在特定职位的内容是在同一页的形式切换(在abvoe图像..)。可能吗?听起来你在描述手风琴的功能。Wordpress提供了一系列手风琴插件。以下是一些: 如果您正在寻找更具控制力的东西,您可能希望直接查看jqueryaccordion

我试图在一个特定的页面中给出所有“帖子”的标题。因此,如果有人点击该帖子,其内容必须在标题下方切换,如果有人再次点击标题,则内容必须隐藏

在WP归档插件的帮助下,我解决了一半的问题。我的页面是这样的。。所以这些是
“档案”标题链接。如果有人点击它,它会变成。。我想在特定职位的内容是在同一页的形式切换(在abvoe图像..)。可能吗?

听起来你在描述手风琴的功能。Wordpress提供了一系列手风琴插件。以下是一些:

如果您正在寻找更具控制力的东西,您可能希望直接查看jqueryaccordion小部件。请参阅此处的信息:

编辑

要将手风琴插件添加到列表中,您需要应用以下更改。将以下内容添加到头标签:

<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

在wp archives插件中,修改以下行:

echo "<div class='list'><ul>\n";
echo“
    \n”;
为此:

echo "<div class='list'><ul id=\"unique_id_of_your_choice\">\n";
echo“
    \n”;
对于每个帖子标题后面的内容,您需要再次更新插件以包含归档帖子内容(无论是整个帖子还是片段,以您选择的为准)。如果保存内容的数据库字段名为“post_content”,则应该是这样的

$arcsresults2=$wpdb->get_results(“从“$wpdb->posts”中选择ID、post_日期、post_标题、post_内容、评论_状态”。其中post_日期如“$thisyear-$thismonth-%”和$current_posts AND post_status='publish'和post_password=''ORDER BY post_date DESC”);
...
...
$arc_title=$arcsresult2->post_title;
$arc_content=$arcsresult2->post_content;
...
...
回显“
  • \n”; 回声“
    • ”$arc\u内容。”
  • \n”;
    这可以通过类似的手风琴脚本实现,但如果您想将其应用到您的帖子页面,还必须编辑页面模板

    以下是一个简单的方法(请参阅):


    1) 将以下内容添加到主题的functions.php

    function add_accordion_script() {
      wp_enqueue_script('acc', get_template_directory_uri() . '/acc.js', array('jquery-ui-accordion'));
    }
    add_action('wp_enqueue_scripts', 'add_accordion_script');
    
    2) 在主题目录中创建acc.js,因此:

    jQuery(document).ready(function($) {
        $( "#accordion" ).accordion({
                header: "div.accordion-header",
                collapsible: true,
                active:false });
    });
    
    3) 最后,将主题页面修改为以下内容:

    <?php if (have_posts()): ?>
        <div id="accordion">
        <?php while (have_posts()) : the_post();?>
            <div class="accordion-header">
                <h1><?php the_title();?></h1>
                <?php the_excerpt();?>
            </div>
        <div><?php the_content();?></div>
        <?php endwhile; ?>
        </div>
    <?php else:?>
        <p><?php _e('No posts'); ?></p>
    <?php endif;?>
    
    
    


    根据您的wordpress模板,这可能比上面概述的更复杂。。。在这种情况下,你必须提供更多的信息

    另一种选择是使用某种专门为此设计的插件。我发现有三个可能适合你,但它们似乎没有得到很好的支持/维护。。。因此,上述方法可能仍然是您的最佳选择:


  • 对于wordpress,这是另一种选择,它对我的网站很有吸引力,但前提是我将其更改为wordpress的默认主题:(.我的主题似乎有任何问题。无论如何,感谢上面发布的所有回复。

    是的。使用javascript和可能的ajax,如果你在一个页面中有太多的帖子,你可以这样做。Jquery手风琴是一个选项吗?是的,虽然答案很有用,但我如何在我的问题中实现?就像我有一个页面,我使用了快捷方式一样(来自WP-ARCHIVES插件)因此,它会显示网站中所有档案的标题。我在PHP方面并不完美。如果我必须用HTML直接实现上述给定的解决方案,那么我已经解决了这个问题。这个答案很有用,确实非常有用。要在wp archives插件中实现jquery功能,您需要更改这一行
    echo“
      \n”
    echo“
      \n”
    。您还需要检查是否包含所需的jQuery库脚本和用户界面。添加后,您可以在页面上添加代码片段
    $(函数(){$(“\u您选择的唯一id”).accordion())
    要查看脚本包含的示例,请访问并单击示例下面的“查看源代码”。当我添加“
      \n”时,它会使插件停用。但一旦我将其更改为id='unique\u id\u of_your\u choice',它会再次激活。但它不起作用。我认为问题在于包含太多javascript文件。下面是[链接]是的,这很有意义。我应该转义我的双引号,比如“\”。你需要将jQuery文件和jQuery ui文件添加到你的页面。jQuery ui文件包含所需的手风琴插件。你可以在这里找到它,谢谢你提供更多信息。让我尽我最大的努力学习上述技巧。。。
      <?php if (have_posts()): ?>
          <div id="accordion">
          <?php while (have_posts()) : the_post();?>
              <div class="accordion-header">
                  <h1><?php the_title();?></h1>
                  <?php the_excerpt();?>
              </div>
          <div><?php the_content();?></div>
          <?php endwhile; ?>
          </div>
      <?php else:?>
          <p><?php _e('No posts'); ?></p>
      <?php endif;?>