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