在 Wordpress XMLRPC 中附加图像以发布

2023-11-26

我正在使用 XMLRPC 向 Wordpress 发布帖子。我在发布缩略图时遇到问题,在调试 WordPress 代码后,我发现我的问题是由于图像未附加到帖子中而引起的。 我必须在不修补 WordPress 或使用 PHP 的情况下执行此操作,而仅使用 XMLRPC。

我可以上传图片并获取图片的 ID。 让我困惑的另一点是,如何将图像附加到您尚未发布的帖子中,因为您正在等待图像上传?我应该上传图像然后发布,然后使用图像 id 和帖子 id 对图像元数据进行更新?

编辑:wordpress 中有问题的代码是这个检查

if ( $thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'thumbnail' ) )

我的假设是它失败了,因为图像是未附加的,如果我修复该代码一切都很好,但我无法修补我的应用程序用户的 WP(所以这不是一个解决方案)


是的,如果 WordPress 版本为 3.5 或更高版本,则可以这样做,当使用上传文件/图像的代码时,您可以设置 post_id。 我用于带有特色图片的新帖子的流程如下:

  1. 使用newPost函数发布没有特色的内容 image 并将publish设置为false,记录返回的post_id 这

  2. 上传图片并将post_id设置为刚刚发布的帖子的id 发布,记录image_id

  3. 完成后编辑帖子并将 wp_post_thumbnail 设置为等于 您刚刚上传的 image_id 并将发布设置为 true(如果需要)

重要的: mime 类型很重要,它必须是“image/jpg”或“image/png”,请参阅文档,如果 mime 类型像“jpg”一样磨损,则附加将失败。

提示: 对于调试,如果您从 WordPress 收到一般错误,并且无法弄清楚为什么,您可以检查 WordPress 代码,甚至编辑它,添加调试/跟踪调用,希望您能找出原因。

这是带有类别、图像和标签的帖子示例。它需要 class-IXR.php
https://github.com/WordPress/WordPress/blob/master/wp-includes/class-IXR.php
和 mime_content_type 函数
https://github.com/caiofior/storebaby/blob/master/magmi/plugins/extra/general/socialnotify/wp/mimetype.php

        $client = new IXR_Client($url);
        $content = array(
            'post_status' => 'draft',
            'post_type' => 'post',
            'post_title' => 'Title',
            'post_content' => 'Message',
             // categories ids
            'terms' => array('category' => array(3))
        );
        $params = array(0, $username, $password, $content);
        $client->query('wp.newPost', $params);
        $post_id = $client->getResponse();

        $content = array(
            'name' => basename('/var/www/sb/img.jpeg'),
            'type' => mime_content_type('/var/www/sb/img.jpeg'),
            'bits' => new IXR_Base64(file_get_contents('/var/www/sb/img.jpeg')),
            true
        );
        $client->query('metaWeblog.newMediaObject', 1, $username, $password, $content);
        $media = $client->getResponse();
        $content = array(
            'post_status' => 'publish',
            // Tags
            'mt_keywords' => 'tag1, tag2, tag3',
            'wp_post_thumbnail' => $media['id']
        );
        $client->query('metaWeblog.editPost', $post_id, $username, $password, $content, true);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Wordpress XMLRPC 中附加图像以发布 的相关文章

  • 如何在Wordpress的发布框内的编辑帖子页面中添加字段?

    我想在添加 编辑帖子页面的发布块内添加一个新的复选框字段 有人知道该怎么做吗 我终于找到了解决方案 我希望它对某人有用 add action post submitbox misc actions publish in frontpage
  • 内部分页:避免不工作

    我的 Wordpress 网站有一个打印样式表 我希望图像打印在单个页面上而不是跨页面拆分 在某些情况下 甚至几行文本也会被分割到不同的页面上 我已经包括了img page break avoid 在我的打印样式表中 但没有运气 我找到了一
  • 为什么我需要在 single.php 中使用 wp 循环

    在WordPress主题开发中我们可以使用single php显示具体的单个帖子 为此 通常的做法是 为什么我需要循环显示单个帖子 任何人都可以给出一些合理的理由吗 这是困扰我多年的事情 我找到了答案 不 您不需要在单页中使用 LOOP 您
  • 使用订单详细信息创建 Woocommerce 短代码

    我正在尝试创建一些与 woocommerce 订单数据相关的短代码 我有一个自定义页面 订单完成后客户将被重定向到该页面 访客结帐已禁用 因此所有购买的客户都将拥有一个帐户 在页面中 我想通过简码插入订单中的一些数据 这是一个例子 您好 c
  • 如何解决此错误:属性 rel 的原始源值错误

    我正在尝试使用 w3c 验证我的网站 但出现错误 Bad value original source for attribute rel on element link The string original source is not a
  • 使用 Timber 插件时,wordpress 简单的短代码不会呈现

    我最近接管了一个使用 Timber 我不熟悉 的 WordPress 网站的开发 我正在尝试使用新的插件和随附的短代码 但这当然不起作用 我已经研究这个问题几个小时了 似乎没有一个简单的答案 为了使用像这样的简单短代码 sp faq类别 7
  • WordPress 分页自定义帖子类型

    我有一个名为 新闻 的页面 使用页面模板page newslist php 它应该显示来自自定义帖子类型 也称为新闻 的帖子 我意识到两者具有相同的名称会导致问题 因此在注册自定义帖子类型时 我进行了重写以将其与页面区分开来 rewrite
  • Woocommerce - 正在销售的产品显示 1 页而不是 4 页

    我有 44 种产品在售 当我输入 WooCommerce 短代码时 sale products per page 12 我只收到 12 件促销产品 即 1 页而不是 4 页 怎么了 我在用着 可湿性粉剂 4 4 1 WC 2 5 1 神秘的
  • 显示 woocommerce 中每位作者的总销售额

    我在一个网站上使用 wordpress 和 woocommerce 让用户创建帐户 以便他们可以上传自己的服装设计 然后我销售这些产品 并且对于其设计的每次销售 特定用户都会获得销售分成 我试图显示我网站上每个用户的销售数量 但不知道如何操
  • Woocommerce 让产品显示在存档页面中

    我正在尝试让所有产品显示在我商店的存档页面中 我想知道他们的id我正在使用我的一个钩子 它在 wp head 上运行并检查 if is product category 我想以某种方式访问 产品的查询并获取它们的 ID if is prod
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • WordPress api v2 按标签过滤帖子

    如何使用 wordpress api v2 获取特定标签的所有帖子 例如 我有一个 ID 为 24 的标签 programming 如何获取包含此 id 的所有帖子 我试过了 wp json wp v2 posts filter tag 2
  • 根据 Woocommerce 中的用户输入自定义购物车商品价格

    在我们的 Woocommerce 商店中 我们对任何产品都有一些最低价格 每个产品内页都有两个字段 客户可以在其中输入产品的宽度 高度 然后他们可以将该产品添加到购物车 然后价格根据给定的宽度和高度进行更改 例如 如果产品的最低价格是50
  • 在自定义 wp_query 循环中按价格订购产品

    我目前有一个非常简单的 wp query 循环来循环我的 WooCommerce 产品 如下所示 args array posts per page gt 1 product cat gt cat post type gt product
  • 以编程方式从 iPhone 向 WordPress 博客发表评论

    我在本地主机服务器上安装了 WordPress 博客 还制作了一个 iPhone 应用程序来通过 rss 浏览博客 我尝试使用此代码以编程方式发布评论 define post url http localhost web wp wp com
  • 使用 knit2wp 更新帖子

    我已经能够使用 knit2wp 成功发布到 WordPress 甚至可以使用图像 即使拥有这样的天赋 我也并非绝对正确 事实上 即使是上面的内容也需要一些工作 我希望稍后能够更新帖子 显然 RWordPress 软件包允许删除帖子 但如果无
  • 如何创建一个 WordPress 主页滑块,其中包含来自 4 个独特类别的最新或精选帖子的多个查询?

    我正在为我正在构建的 WordPress 网站创建一个滑块 我尝试构建的滑块共有 4 个幻灯片 框架 每个框架都需要显示特定类别中的最新帖子或特定类别中的特色帖子 我的意思是 4 张幻灯片 框架中的每张都代表一个单独的类别 Slide Fr
  • WooCommerce:用文本覆盖购物车价格

    我们有很多产品具有以下功能 No price 零价格 我们让它们可以通过内置挂钩购买 但购物车仍然将它们显示为具有0 price结账时 我们希望购物车和结帐摘要显示 特殊订单 或任何其他文本 但 WooCommerce 似乎使基于文本的价格
  • WordPress 事件按元生效日期排序

    我在获取参数数组以按 Wordpress 中的日期对事件列表进行排序时遇到一些问题 我在 Stack Overflow 和其他地方找到了几个建议的解决方案 但经过大量的试验和错误后 这些解决方案似乎都不起作用 这没什么花哨的 而且应该比这容

随机推荐