【问题标题】:How to generate URL in guid column in wp_posts table?如何在 wp_posts 表的 guid 列中生成 URL?
【发布时间】:2020-01-31 13:27:48
【问题描述】:

我正在尝试向 wordpress 网站添加新帖子。我使用直接插入查询到 mysql 数据库到 wp_posts 列。问题是 guid 列是空的,对于其他帖子,它有 url。如何使用查询为新记录生成 guid 列的 url?

我尝试使用 uuid(),但它创建的是 id,而不是 url。

【问题讨论】:

    标签: mysql wordpress woocommerce


    【解决方案1】:

    这不是一个好习惯。 Wordpress 具有创建/更新帖子的功能,可以为您处理这些问题,无需重新发明轮子。

    阅读 wp_insert_post() 函数。您只需准备好帖子的内容并将其传递给函数即可。

    这样,wordpress 将清理和验证数据以避免错误或重复的冲突。

    此外,每次创建帖子时,通常都会设置运行例程(来自插件和主题)。如果您直接在数据库中创建,则不会触发这些例程。

    【讨论】:

      【解决方案2】:

      尽管它的名称,该列不包含 Paul Leach / RFC4122 意义上的 guid。它包含看起来像 URL 的唯一标识符。通常,它们与某种固定链接有关。但您不一定需要填充该列。

      如果您将使用程序而不是交互方式创建帖子/页面/媒体/等,那么您至少必须了解 WordPress 的 wp_insert_post() 函数。您可以在任何 WordPress 安装的 php 部分中阅读其 source code,或 here

      大多数需要插入帖子的人都是通过插件来完成的。

      【讨论】:

        【解决方案3】:

        为了创建新帖子,通过插入查询将数据插入到 wordpress 帖子表中并不是一个好习惯。

        使用下面的函数将数据插入到 wordpress 中,它会自动创建 guid 和其余所需的列。

                        $post_title='Sample wordpress post';
                        $post_content='Sample wordpress post';
        
                        $my_post = array(
                        'post_title' => wp_strip_all_tags($post_title),
                        'post_content' => $post_content,
                        'post_status' => 'publish',
                        'post_category' => array(a)
                    );
        
                    // Create a new post
                    $post_id = wp_insert_post($my_post);
        

        如果您有任何其他格式的数据,请将其存储在自定义表中,从自定义表中获取数据并使用上述函数将每一行创建为 WordPress 帖子。

        【讨论】:

        • 谢谢,但是我需要通过erp系统的查询来添加帖子(实际上是商品)。
        • 使用 wordpress WP_Query 在 wordpress 文件中从您的 erp 系统查询产品,并为相同的数据创建 wordpress 帖子。仅当您的 wordpress 和 erp 系统具有单一数据库时,这才有效。检查下面的代码,github.com/RahatHameed/Crawler/blob/master/WpImporter.php
        • 如果您有两个不同的数据库,然后在 wordpress 根目录中创建一个导入文件,连接到 erp 系统并使用 php 查询获取您的商品并使用 wordpress 函数创建帖子。检查以下代码。 github.com/Javaid/Wordpress/blob/master/wpconverter.php
        猜你喜欢
        • 2015-08-19
        • 2012-05-16
        • 2011-03-03
        • 1970-01-01
        • 1970-01-01
        • 2021-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多