这是我的PHP代码:
define('WP_USE_THEMES', false);
require_once('../../../wp-load.php');
$post_type = $_GET['posts_type'];
$name = $_GET['name'];
$pageNum = $_GET['num_page'];
switch($post_type){
case "category":
getCategoryPosts($pageNum, $name);
break;
}
function getCategoryPosts($p, $n){
query_posts('posts_per_page=5&paged='.$p.'&cat='.$n);
if(have_posts()){
echo "<ul class='category-dropdown-posts'>";
while(have_posts()){
the_post();
$permalink = get_the_permalink();
echo "<li><a href=".$permalink.">";
echo get_the_post_thumbnail($post->ID, array(172, 132), array('class'=>'dropdown-pic'));
echo "<p class='dropdown-title'>".get_the_title();
echo "</p></a></li>";
}
echo "</ul>";
}
wp_reset_query();
}
现在一切正常,除了固定链接。你可以看到a标签应该包含在img和p标签周围,但我得到的是这样的:
<li>
<a href="..."></a>
<img ..../>
<p>...</p>
</li>
知道可能出现什么问题吗?
编辑:ajax响应的console.log似乎是正确的,但显示是混乱的。我在虚拟机中使用Ubuntu中的Firefox。 编辑2: 这是ajax的回应:
<ul class='category-dropdown-posts'><li><a style='display:block' href=http://localhost/wordpress/post-to-post/><img width="172" height="114" src="http://localhost/wordpress/wp-content/uploads/2014/12/post-to-post-300x199.jpg" class="dropdown-pic wp-post-image" alt="Post To Post" /><span class='dropdown-title'>Post to Post</span></a></li></ul>
我已经找到了问题所在。正如您所看到的,未引用a中的href,这会导致该行为。谢谢你的帮助。
答案 0 :(得分:1)
锚点元素不应包含段落元素。从技术上讲,这在HTML5中是允许的,但某些浏览器可能无法正确处理它。我的猜测是你在浏览器的开发工具中查看源代码,它会在遇到段落时自动关闭锚点。如果是这种情况,查看实际源应显示按预期格式化的HTML,即使它呈现为锚定早期关闭。尝试将锚点放在段落中或将锚点的display属性设置为阻止。更多信息: