Wordpress,编辑链接

时间:2014-12-08 18:01:42

标签: php html wordpress

我正在尝试更改oNe的目的地在wordpress中阅读更多链接:

enter image description here

我在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 Admin界面进行操作。

因为据说wordpress应该让你这么容易,但我似乎无法在这些上找到更多的链接保存我在PHP中找到的代码。

您知道更改链接目的地的“Wordpress方式”吗?

2 个答案:

答案 0 :(得分:2)

&#39>阅读更多&#39;链接指向该特定帖子的网址;鉴于上下文,改变目的地并没有多大意义。听起来你的问题不仅仅是改变链接的目的地本身,而是你需要改变它实际链接到的页面的设计。如果是这种情况,您应该查看目标是页面的page templates,或custom post types,如果它是一种帖子。

看看你收集到的其他一些问题,你认为自己是WordPress的新手。以下是您的示例如何运作的简短摘要,以便您可以更好地理解:

  • WordPress主要使用帖子:这些是您网站的特定条目。根据网站的性质,它们可以是博客文章,评论,新闻文章,任何真实的东西。请记住,每篇文章都是WordPress中特定的 thing
  • 帖子的外观的方式取决于所使用的模板
  • 您发布的代码位是循环;特别是那个获取变量$query的内容(在您的示例中包含三个帖子)然后每个帖子的运行{}括号之间的所有函数。这就是为什么你最终得到三个帖子/图像/链接;该函数运行三次,每次发现一次$query
  • {}括号内,$post指的是该特定帖子。 $post->ID会返回该帖子的唯一ID号。
  • get_the_excerpt()函数获取该特定帖子的摘录(一小段内容)。你传递它$post->ID,以便它获取正确帖子的摘录。
  • post_permalink()函数可以确定该特定帖子的网址。同样,在您的示例中,您传递了$post->ID

你应该阅读The Loop;它构成了WordPress如何工作的基础。如果你可以了解你的情况,就在那里。

答案 1 :(得分:2)

在阅读您对链接的评论后,回复很简单:&#34; WordPress&#34;方式是代码,提供的URL包含您需要了解的所有内容。没有管理员方法可以做到这一点,至少在本地方式。

但是,在提供的代码中,您有一行显示Read More,即:

  printf('<a href="%s" class="button">Read more</a>', post_permalink($post->ID));

这一行的基本内容是指向相应的帖子:它调用post_permalink函数,然后$ post-&gt; ID告诉函数打开哪个帖子。

理论上,您可以通过将该行更改为简单的HTML来更改链接:

  printf('<a href="%s" class="button">Read more</a>', 'http://www.yoururl.com');

这可以解决您的问题。

正确的方法:

向帖子添加自定义字段,插入网址并将其加载到循环中。

编辑:更好地解决OP问题

由于这是一个循环,在代码中由 foreach 表示,代码会执行一次,每次循环时$ post-&gt; ID会自动更改。通过固定的URL更改循环,您的3个帖子将链接到同一个地方。

有几种方法可以改变行为,最简单,最简洁的方法是在帖子中添加自定义字段。这将在您的帖子管理区域中创建一个字段,您插入您的URL并在前端访问它。这样,您的所有帖子都可以链接到您想要的位置。

例如:

  1. 查看this插件;
  2. 创建一个text field命名网址;
  3. 使用get_post_meta()在前端访问它;
  4. 您的代码行会喜欢这样的内容:

    printf('<a href="%s" class="button">Read more</a>', get_post_meta( $post->ID, 'URL');