首页 \ 问答 \ 通过XML-RPC为WordPress帖子设置特色图像(set featured image for WordPress post via XML-RPC)

通过XML-RPC为WordPress帖子设置特色图像(set featured image for WordPress post via XML-RPC)

大约6个月前,有一个WordPress API的更新,允许设置帖子的缩略图(或特色)图像。

http://www.maxcutler.com/2012/04/04/xml-rpc-in-wordpress-3-4/

我正在尝试使用它,但它不适合我。 我想知道我可能做错了什么。 我正在调用XML-RPC newPost方法来创建帖子并在媒体库中传递现有资产的媒体ID(在媒体库中称为attachment_id)正在创建新帖子并且所有其他属性都在设置,除了特色图像。

我在word-wp-xmlrpc-server.php中验证了我的wordpress api版本,我确实在新的帖子功能部分看到了评论:“* post_thumbnail - 用作帖子缩略图/特色的媒体项目的ID图片”

所有其他属性都在工作。 我可以通过XML-RPC将新图像添加到媒体库。 我可以创建和更新帖子并设置其标签,标题,说明,自定义字段值和类别。 当我尝试设置post_thumbnail值时,我没有收到任何错误。 即使我传入一个不存在的媒体ID,这似乎很奇怪。


About 6 months ago there was an update to the WordPress API which allows setting a post's thumbnail (or featured) image.

http://www.maxcutler.com/2012/04/04/xml-rpc-in-wordpress-3-4/

I'm trying to use it but it's not working for me. I'd like to know what I may be doing wrong. I'm calling the XML-RPC newPost method to create a post and passing the Media ID of an existing asset in the media library (known as the attachment_id in the media library) The new post is being created and all the other properties are being set, except for the featured image.

I verified my version of the wordpress api, and sure enough in class-wp-xmlrpc-server.php I see the comment in the new post function section: "* post_thumbnail - ID of a media item to use as the post thumbnail/featured image"

All the other properties are working. I can add new images to the media library via XML-RPC. I can create and update posts and set their tags, titles, descriptions, custom field values, and categories. I don't get any errors when I try to set the post_thumbnail value. Even if I pass in a non-existent media id, which seems odd.


原文:https://stackoverflow.com/questions/12355922
更新时间:2022-08-31 17:08

最满意答案

我终于找到了如何完成我的功能! 我在MDN上读到,特定字符串函数“startsWith”仅适用于Firefox和Chrome。 请看这个链接: https//developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith最好的解决方案是创建一个名为startsWith的自定义函数。 请在stackOverflow上查看此问题以获取更多说明如何检查字符串“StartsWith”是否为另一个字符串?

这是我最终得到的代码:

//startsWith function from topic above
if (typeof String.prototype.startsWith != 'function') {
   String.prototype.startsWith = function (str){
   return this.slice(0, str.length) == str;
 };
}


function fixCordovaOutboundLinks() {

  var allElements = document.getElementsByTagName('a');

  for (var i = 0, n = allElements.length; i < n; i++) {

    var url = allElements[i].getAttribute('href');

    if(url != null) {

       if(url.startsWith("http")) {   

           console.log("el " + url);
           allElements[i].onclick = function(event) {      
           event.preventDefault();
           alert('URL opens: ' + url);
           var ref = window.open(url, '_blank', 'location=yes');

        };
      }
    }
  }
}

I finnaly figured out how to complete my function! I read over at MDN that the particular string function "startsWith" only works in Firefox and Chrome. Se this link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith The best solution for this is to create a custom function named startsWith. Se this question here at stackOverflow for further instructions How to check if a string "StartsWith" another string?

Here is the code that i ended up with:

//startsWith function from topic above
if (typeof String.prototype.startsWith != 'function') {
   String.prototype.startsWith = function (str){
   return this.slice(0, str.length) == str;
 };
}


function fixCordovaOutboundLinks() {

  var allElements = document.getElementsByTagName('a');

  for (var i = 0, n = allElements.length; i < n; i++) {

    var url = allElements[i].getAttribute('href');

    if(url != null) {

       if(url.startsWith("http")) {   

           console.log("el " + url);
           allElements[i].onclick = function(event) {      
           event.preventDefault();
           alert('URL opens: ' + url);
           var ref = window.open(url, '_blank', 'location=yes');

        };
      }
    }
  }
}

相关问答

更多

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)