WordPress 博客 Post "Read More" Link 不带我去实际 Post
WordPress Blog Post "Read More" Link Not Taking Me To Actual Post
这里很多文章好像都是针对"read more" link不显示的。我的显示正常,只是没有真正将我们带到显示完整博客的页面 post。您可以在此处查看它的显示方式(阅读更多 >>):
现在,当我点击 "Read More >>" 时,我得到了这个:
在我的代码中,在 home.php 中,我将博客 post 显示为:
<?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>";
以便它 link 成为用户点击的完整 post?
我查看了 the codex 如何自定义阅读更多 link,但我只是找到
"Users can then continue reading more as you have enticed them with your summary introduction, by clicking on a link to the full article. Themes usually include this link in the title and the above methods will generate it by default trailing your teaser."
我一定是在阅读手抄本时遗漏了什么。谢谢!
编辑:检查link:
编辑 2 检查损坏的页面:
编辑 3:完整 CSS(style.css):https://pastebin.com/TaUnemz9
编辑 4 个人博客的完整屏幕截图 post 页面:
首先有三件事我不能告诉你确切的问题是什么,没有任何适当的 link.but 因为我仔细研究了你的 screenshot.I 发现
你 link 喜欢 http://localhost/fourth-blog-post
当您单击阅读更多按钮时。
但应该是这样的http://localhost/blog/fourth-blog-post
因为它是您所有 post 中的单个 post,并且来自 single.php 文件,
现在您可以做两件事,首先通过显示您的 post 的管理面板检查 post 的 url。第二,如果它匹配我在上面提到的第二个 url link。那么您应该在 get_permalink() 的位置尝试 the_permalink() 函数,以获取您可以访问的更多信息。
https://codex.wordpress.org/Function_Reference/the_permalink
因为 get_permalink() 不应与 in 循环一起使用。它应该是 the_permalink() 在循环中。
希望对你有所帮助:)
首先,关键是单个post页面根据WordPress Hierarchy通过single.php显示。
所以我需要创建一个 single.php 文件 - 这个文件的大部分代码仍然与 home.php 的代码相同 - 它仍然会显示 header、主图、导航菜单、页脚和内容仍将包含在 <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();
。我们已经加载了 posts,现在我们只需要显示它们。
我需要获取/回显的任何 WP 函数都会根据显示单个 post 与显示多个 post 的不同而发生变化。我可以拿出来:
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 函数 .get_permalink().
将永久链接包装在 <a>
标记中。然后永久链接将带您到 single.php。
这里很多文章好像都是针对"read more" link不显示的。我的显示正常,只是没有真正将我们带到显示完整博客的页面 post。您可以在此处查看它的显示方式(阅读更多 >>):
现在,当我点击 "Read More >>" 时,我得到了这个:
在我的代码中,在 home.php 中,我将博客 post 显示为:
<?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>";
以便它 link 成为用户点击的完整 post?
我查看了 the codex 如何自定义阅读更多 link,但我只是找到
"Users can then continue reading more as you have enticed them with your summary introduction, by clicking on a link to the full article. Themes usually include this link in the title and the above methods will generate it by default trailing your teaser."
我一定是在阅读手抄本时遗漏了什么。谢谢!
编辑:检查link:
编辑 2 检查损坏的页面:
编辑 3:完整 CSS(style.css):https://pastebin.com/TaUnemz9
编辑 4 个人博客的完整屏幕截图 post 页面:
首先有三件事我不能告诉你确切的问题是什么,没有任何适当的 link.but 因为我仔细研究了你的 screenshot.I 发现
你 link 喜欢 http://localhost/fourth-blog-post 当您单击阅读更多按钮时。
但应该是这样的http://localhost/blog/fourth-blog-post
因为它是您所有 post 中的单个 post,并且来自 single.php 文件, 现在您可以做两件事,首先通过显示您的 post 的管理面板检查 post 的 url。第二,如果它匹配我在上面提到的第二个 url link。那么您应该在 get_permalink() 的位置尝试 the_permalink() 函数,以获取您可以访问的更多信息。
https://codex.wordpress.org/Function_Reference/the_permalink
因为 get_permalink() 不应与 in 循环一起使用。它应该是 the_permalink() 在循环中。
希望对你有所帮助:)
首先,关键是单个post页面根据WordPress Hierarchy通过single.php显示。
所以我需要创建一个 single.php 文件 - 这个文件的大部分代码仍然与 home.php 的代码相同 - 它仍然会显示 header、主图、导航菜单、页脚和内容仍将包含在 <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();
。我们已经加载了 posts,现在我们只需要显示它们。
我需要获取/回显的任何 WP 函数都会根据显示单个 post 与显示多个 post 的不同而发生变化。我可以拿出来:
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 函数 .get_permalink().
将永久链接包装在 <a>
标记中。然后永久链接将带您到 single.php。