我正在尝试更改 WordPress 中的阅读更多链接的目的地:
我在 frontpage.php 中找到了这段代码:
<?php
foreach ($query as $post) {
setup_postdata($post);
printf('<div>');
printf('<div class="box">');
printf('<h4>%s</h4>', $post->post_title);
printf('<img src="%s" />', wp_get_attachment_image_src(get_post_thumbnail_id(get_the_id()), 'full')[0]);
printf('<p>%s</p>', get_the_excerpt($post->ID));
printf('<a href="%s" class="button">Read more</a>', post_permalink($post->ID));
printf('</div>');
printf('</div>');
}
wp_reset_postdata();
?>
我想我可以摆弄并编辑链接,以便它们通过此 PHP 转到我设计的页面,但是我想知道如何通过 WordPress 管理界面来完成此操作。
因为据说 WordPress 应该能让你轻松做到这一点,但我似乎无法在这些阅读更多链接上找到任何内容,保存我在 PHP 中找到的代码。
您知道更改链接目标的“Wordpress 方式”吗?
最佳答案
阅读您对链接提供的评论后,回复很简单:“WordPress”方式是代码和提供的 URL有您需要了解的一切。没有管理方式可以做到这一点,至少以 native 方式是这样。
但是,在提供的代码中,有一行显示“阅读更多”,即:
printf('<a href="%s" class="button">Read more</a>', post_permalink($post->ID));
基本上,这一行的作用是指向相应的帖子:它调用 post_permalink 函数,然后 $post->ID 告诉函数要打开哪个帖子。
理论上,您可以通过将该行更改为简单的 HTML 来更改链接:
printf('<a href="%s" class="button">Read more</a>', 'http://www.yoururl.com');
这应该可以解决您的问题。
正确的做法:
向帖子添加自定义字段,插入网址并将其加载到循环中。
编辑:更好地解决OP问题
由于这是一个循环,在代码中由 foreach 表示,因此代码会执行一次,并且在每个循环中 $post->ID 会自动更改。通过使用固定 URL 更改循环,您的 3 个帖子将链接到同一位置。
有多种方法可以更改行为,最简单、最干净、更有效的方法是向帖子添加自定义字段。这将在您的帖子管理区域中创建一个字段,您插入您的 URL 并在前端访问它。这样您的所有帖子都可以链接到您想要的位置。
例如:
- 看看this插件;
- 创建 text field命名 URL;
- 使用get_post_meta()在前端访问它;
你的代码行会像这样:
printf('<a href="%s" class="button">Read more</a>', get_post_meta( $post->ID, 'URL');
关于php - WordPress,编辑链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27364040/