You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress XMLRPC:如何通过Slug搜索文章并远程更新?

解决方案:通过XMLRPC按Slug搜索并更新文章Slug

一、按Slug搜索文章的问题修复

你遇到的name参数无效问题,大概率是参数传递结构不符合XML-RPC客户端的要求。多数WordPress XML-RPC客户端的getPosts方法要求筛选参数嵌套在filter子数组中,而非直接作为顶层参数。

修复后的搜索代码:

$args = array(
    'filter' => array(
        'name'   => 'my-slug', // 此参数对应文章的slug(post_name)
        'number' => 1 // 仅返回1条结果
    )
);

$posts = $wpClient->getPosts($args);

备选方案(兼容旧版WordPress):

如果上述方法仍无结果,可改用post_name__in参数精准匹配slug:

$args = array(
    'filter' => array(
        'post_name__in' => array('my-slug'),
        'number' => 1
    )
);

$posts = $wpClient->getPosts($args);

二、搜索到文章后更新Slug

找到目标文章后,提取其ID,调用wp.editPost方法传入新slug即可:

if (!empty($posts)) {
    $targetPost = $posts[0];
    $postId = $targetPost['post_id'];

    // 准备更新参数
    $updateArgs = array(
        'post_id' => $postId,
        'post_name' => 'new-slug-here' // 设置新的slug
    );

    // 执行更新操作
    $result = $wpClient->editPost($updateArgs);
}

注意事项

  • 部分XML-RPC客户端要求前置传递博客ID、用户名、密码参数,示例如下:
$posts = $wpClient->getPosts(1, '你的用户名', '你的密码', $filterArgs);
  • 新slug需符合WordPress规则:小写字母、允许连字符、需唯一,否则系统会自动调整slug格式。

内容的提问来源于stack exchange,提问作者WP Beginner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 19:31:12