这里的很多文章似乎都在处理"阅读更多"链接不显示。我的显示很好,它实际上并没有把我们带到显示完整博客帖子的页面。您可以在此处查看它的显示方式(阅读更多>>):
现在,当我点击"阅读更多>>"我明白了:
在我的代码中,在home.php中,我显示的博客文章如下:
<?php
$paged = ( get_query_var('page') ) ? get_query_var('page') : '1';
$args = array('post_type' => 'post', 'posts_per_page' => 3, 'order' => 'ASC', 'orderby' => 'title', 'paged' => $paged);
$posts = new WP_Query($args);
if ($posts->have_posts()): while ($posts->have_posts()) : $posts->the_post();
get_template_part( 'content', get_post_format());
echo "<div class='thepost'><p class='post-date'>".get_the_date()."</p>";
echo "<h2 class='post-title'><a href=".get_permalink().">".get_the_title()."</a></h2>";
//echo "<span class='post-image'>".the_post_thumbnail()."</span>";
the_post_thumbnail('post-thumbnail', ['class' => 'post-image']);
echo "<p class='post-paragraph'>".get_the_excerpt()."</p>";
echo "<p><a href=".get_permalink()."><span class='read-more'>Read More >></span></a></p> </div>";
endwhile;?>
那么我需要对此行进行哪些更改:echo "<p><a href=".get_permalink()."><span class='read-more'>Read More >></span></a></p></div>";
以便链接到用户点击的完整帖子?
我已经查看the codex如何自定义阅读更多链接,但我只是找到了
&#34;用户可以继续阅读更多内容,因为您通过点击完整文章的链接来吸引他们的摘要介绍。主题通常在标题中包含此链接,上述方法将默认生成它跟踪您的预告片。&#34;
我必须错过一些东西,因为我正在阅读手抄本。谢谢!
编辑:检查链接:
编辑2 检查已损坏的网页:
编辑3 :完整的CSS(style.css):https://pastebin.com/TaUnemz9
EDIT 4 个人博客帖子页面的完整屏幕截图:
答案 0 :(得分:1)
首先,我可以在没有任何正确链接的情况下告诉您确切的问题,但有三件事情。但是我正在密切关注您的截图。我发现
您获得http://localhost/fourth-blog-post之类的链接 当您单击“阅读更多”按钮时。
但它应该像http://localhost/blog/fourth-blog-post
一样因为它的所有帖子的单个帖子都来自single.php文件, 现在你可以做两件事,首先通过管理面板查看你的帖子的网址。第二,如果它匹配我在上面的链接上提到的第二个网址。然后你应该在get_permalink()的地方尝试the_permalink()函数,以获取更多可以访问的信息。
https://codex.wordpress.org/Function_Reference/the_permalink
因为get_permalink()不应该与in循环一起使用。它应该是循环中的_permalink()。
我希望它会对你有所帮助:)。
答案 1 :(得分:0)
首先,关键是根据WordPress Hierarchy通过single.php显示单个帖子页面。
所以我需要创建一个single.php文件 - 这个文件的大部分代码仍然与home.php的代码相同 - 它仍然会显示标题,英雄图像,导航菜单,页脚,内容仍将包含在<div>
中。
有什么不同,我需要把它拿出来:
$paged = ( get_query_var('page') ) ? get_query_var('page') : '1';
$args = array('post_type' => 'post', 'posts_per_page' => 3, 'order' => 'ASC', 'orderby' => 'title', 'paged' => $paged);
$posts = new WP_Query($args);
将WordPress循环从if ($posts->have_posts()): while ($posts->have_posts()) : $posts->the_post();
更改为:if (have_posts()): while (have_posts()) : the_post();
。我们已经加载了帖子,现在我们只需要显示它们。
根据显示单个帖子与显示多个帖子的不同,我需要获取/回显更改的WP功能。我可以拿出来:
get_template_part( 'content', get_post_format());
echo "<p class='post-paragraph'>".get_the_excerpt()."</p>";
echo "<p><a href=".get_permalink()."><span class='read-more'>Read More >></span></a></p> </div>";
因为我不再需要它们了。
关键是链接在WordPress中的工作方式与基本HTML不同。这与HTML不同,如果你有<a href="post-page.html">Read More</a>
,当你点击阅读更多时,你将被带到post-page.html。由于它是一个WP站点,它使用PHP并使用WP函数<a>
将永久链接包装在.get_permalink().
标记中。然后固定链接会将您带到single.php。