我在我的wordpress站点,在single.php循环中,有一个select标签,其中的选项是通过自定义查询返回的当前类别的帖子。通过AJAX动态改变Wordpress中的导航链接(下一个和前一个)
关于更改选定的选项,我有很多运行良好的javascript函数,但其中最后一个函数(function f_next-previous
)似乎不起作用。
此功能的目的是在不重新加载页面的情况下更新下一个和上一个链接。
相对于导航链接在我的模板(下一个和以前)的代码运作良好,是上面:
<div id="nav-above" class="navigation">
<div class="nav-previous"><?php previous_post_link('%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/previous.png" />'); ?></div>
<div class="nav-next"><?php next_post_link('%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/next.png" />'); ?></div>
</div><!-- #nav-above -->
此功能的JavaScript代码:
function f_next-previous(id)
{
$.ajax({
cache: true,
type: "GET",
timeout: 5000,
url: 'wp-content/themes/twentyten/pages/next-previous.php?p='+id,
success: function(msg)
{
$('#nav-above').html(msg);
},
error: function(msg)
{
alert("Your browser broke!");
return false;
}
});
}
文件next-previous.php
内容是:
<?php
$p=$_GET['p'];
require('../../../wp-load.php');
$my_query = new WP_Query();
$my_query->query(array('post__in' => array($p)));
if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); ?>
<div class="nav-previous"><?php previous_post_link('%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/previous.png" />'); ?></div>
<div class="nav-next"><?php next_post_link('%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/next.png" />'); ?></div>
<?php
endwhile;
endif;
?>
在测试此php文件时y给p参数一个值,它在浏览器中给出逻辑结果。 jquery和函数脚本都包含在内,并且我网站上的所有AJAX都可以。我在这部作品中缺少什么?
UPDATE: 请注意,我的single.php文件的负责触发AJAX调用的部分是:
<form method="post" action="">
<select class="select2" name="" id="" >
<option value="<?php the_ID();?>"><?php the_title();?></option>
<?php
global $post;
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$myposts = get_posts("paged=$paged&category=4");
foreach($myposts as $post) :?>
<option value="<?php the_ID();?>"><?php the_title();?></option>
<?php endforeach;
wp_reset_postdata(); ?>
</select>
</form>
请将PHP错误记录到文件并启用记录的最高级别。在想知道为什么它不起作用之前消除所有错误(是的,它有错误,是的PHP告诉你在哪里)。 – hakre 2013-03-02 14:12:44
感谢Hakre的快速反馈,但我不太了解你。我没有在我的浏览器中的任何错误!或者也许我不知道该怎么做,以及如何启用最高级别的日志? – 2013-03-02 14:18:19
好吧我想这个链接http://www.w3schools.com/php/php_ref_error.asp会向我解释这些概念,我需要一些时间回到这里,并给出最终结果 – 2013-03-02 14:21:04