【问题标题】:Wordpress permalink from the database?来自数据库的 Wordpress 永久链接?
【发布时间】:2012-08-25 11:21:18
【问题描述】:

我正在尝试从我的 WordPress 数据库中访问选定的帖子信息以显示在第二个网站上,该网站不是 WordPress 网站也不是 php,它实际上是我想要显示信息的 asp.net 网站。

我有一个位于 blog.domain.com 的 WordPress 博客和位于 domain.com 的另一个网站,它们都在不同的服务器上运行,我需要在我的 asp.net 网站上为选定的帖子显示摘录、标题和链接。我可以轻松地从博客的数据库中获取摘录和标题,但唯一的问题是永久链接不在数据库中。

我的想法是,如果我在每个博客上放置一小段代码以将永久链接插入到一个新表中,我就可以抓住它在另一个网站上使用。但这没有用,也许我做得不对。这是我使用的代码;

<?php
 global $wpdb;
 $table_name = $wpdb->prefix . "posts_pages_url";
 $wpdb->insert($table_name , array('post_id' => the_ID(), 'url' => the_permalink()));
?>

有些人可能会说,“为什么不直接使用 RSS 提要?”好吧,如果归根结底,我可能不得不这样做,但我不希望直接连接到数据库以访问我选择的帖子更加灵活。

如果有人对我如何通过数据库调用访问永久链接有任何建议,我将不胜感激。

非常感谢

【问题讨论】:

  • 考虑在WordPress Development上提问。
  • 我把这段代码放在我正在测试的网页的 php 文件中。
  • Wordpress安装中有很多PHP文件,你把代码放在哪个文件里?如果你把它放在模板中,你把它放在了 Wordpress 循环中吗?
  • 是的,我正在测试的页面的模板文件。是的,代码被放置在循环中。
  • the_permalink() 将显示永久链接,因此不适合将其保存到数据库中。请改用 get_permalink。

标签: asp.net mysql wordpress


【解决方案1】:

您可以在代码中使用get_permalink(),或链接到数据库中的 guid 值 - 我知道这并不理想,但它至少应该可以工作。

编辑:

the_ID() 也一样——应该改为get_the_ID()

【讨论】:

  • 感谢@Mark,我现在将代码更改为&lt;?php global $wpdb; $table_name = $wpdb-&gt;prefix . "posts_pages_url"; $wpdb-&gt;insert($table_name , array('post_id' =&gt; get_the_ID(), 'url' =&gt; get_permalink())); ?&gt;,但数据仍然没有输入数据库。有什么想法吗?
  • 嗨@robolist,很抱歉延迟回复。我已经在一个示例 WP 安装上测试了该代码,它适用于我。不想光顾,是否在数据库中设置了 wp_posts_pages_url 表并具有适当的数据类型? (如果不是默认前缀,则将 wp_ 替换为您的前缀)。
  • 如果这不起作用,请告诉我你将代码放在哪里 - 我把它放在单独的帖子/页面文件中 - 所以主题中的 single.php 和 page.php。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 2012-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多