Windows Live Writer no go with WP 3.1.2
-
With the upgrade to WP 3.1.2, Windows Live Writer has stopped working properly with WordPress (https://shatteringyoursmallcosmos.com/wordpress). I get an error when trying to download the blog theme and get an invalid XML-RPC response back when trying to post.
-
Here’s the reply I’m getting:
HTTP/1.1 200 OK Date: Tue, 10 May 2011 23:28:29 GMT Server: Apache X-Powered-By: PHP/5.2.17 Connection: close Transfer-Encoding: chunked Content-Type: text/html 6cb <br /> <b>Warning</b>: strpos() [<a href='function.strpos'>function.strpos</a>]: Empty delimiter in <b>/home/content/94/7216994/html/wordpress/wp-includes/class-wp-xmlrpc-server.php</b> on line <b>2379</b><br /> <br /> <b>Warning</b>: strpos() [<a href='function.strpos'>function.strpos</a>]: Empty delimiter in <b>/home/content/94/7216994/html/wordpress/wp-includes/class-wp-xmlrpc-server.php</b> on line <b>2379</b><br /> <br /> <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/content/94/7216994/html/wordpress/wp-includes/class-wp-xmlrpc-server.php:2379) in <b>/home/content/94/7216994/html/wordpress/wp-includes/class-IXR.php</b> on line <b>471</b><br /> <br /> <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/content/94/7216994/html/wordpress/wp-includes/class-wp-xmlrpc-server.php:2379) in <b>/home/content/94/7216994/html/wordpress/wp-includes/class-IXR.php</b> on line <b>472</b><br /> <br /> <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/content/94/7216994/html/wordpress/wp-includes/class-wp-xmlrpc-server.php:2379) in <b>/home/content/94/7216994/html/wordpress/wp-includes/class-IXR.php</b> on line <b>473</b><br /> <br /> <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/content/94/7216994/html/wordpress/wp-includes/class-wp-xmlrpc-server.php:2379) in <b>/home/content/94/7216994/html/wordpress/wp-includes/class-IXR.php</b> on line <b>474</b><br /> <?xml version="1.0"?> <methodResponse> <params> <param> <value> <string>437</string> </value> </param> </params> </methodResponse> 0
Check your dashboard, settings, writting, and make sure XMKL-RPC is checked. I don’t use it often but I did a couple of days ago and it worked fine.
These two lines are the cause:
Warning: strpos() [function.strpos]: Empty delimiter in /home/content/94/7216994/html/wordpress/wp-includes/class-wp-xmlrpc-server.php on line 2379 Warning: strpos() [function.strpos]: Empty delimiter in /home/content/94/7216994/html/wordpress/wp-includes/class-wp-xmlrpc-server.php on line 2379
I can’t figure out what it’s expecting. The request looks just fine. It’s something about attachments?
I finally just put a @ in front of the strpos function at the location specified to suppress the error message and it now works. I can’t figure out which part is causing the error.
The line in question probably looks like (quote from class-wp-xmlrpc-server.php):
if ( strpos( $post_content, $file->guid ) !== false )
The problem here is $file->guid is empty. Just put another check before this line and the problem will be solved:
if($file->guid && !($file->guid == NULL))
@docfish – I cannot say this strongly enough, DO NOT HACK CORE. If this is a change that absolutely must be made, create a patch and submit it on Trac. If this is a minor change that will fix just your installation but doesn’t belong in core, write a plugin.
If you hack core files, you will lose your changes whenever you update WordPress. If the code you changed really did fix a bug, you lose your bug fix whenever you update and no one else benefits from your work.
You did the right thing by opening a Trac ticket to report the issue. But once you open a bug report, you have to follow up with it. Other developers will ask questions to clarify the issue, and developers will create patches you can test to see if they fix the issue.
If a patch fixes the issue, and the patch is in Trac, there’s a good chance a member of the core team will commit the changes – which means the next version of WordPress won’t have that bug.
Was this issue fixed? any clues?
imugur
It would be better to start your own thread and explain your problem.Windows Live Writer works fine with WordPress.
I have the same problem: When trying to publish with WLW I got the error Invalid Server Response… Looking into WLW logs I got: Warning: strpos() [function.strpos]: Empty delimiter in /home/user/public_html/mugur-ionescu.ro/wp-includes/class-wp-xmlrpc-server.php on line 2470
If I comment the line
if ( strpos( $post_content, $file->guid ) !== false )everything works well but I am wondering what is the official fix.
For me the problem seems to be cauzed by the theme Pagelines (I found similar issues on Pagelines forum) but I saw similar problems caused by various plugins. Any clue?
Thanks
The final fix for me was to change “strpos” to “@strpos” to suppress any error messages produced by that function.
Note that WP “out of the box” works fine, but something with Pagelines is causing an issue with the xml-rpc process (I notified the Pagelines authors of this a long time ago). Making the above-mentioned change fixes this semi-permanently (if you upgrade or reinstall WP you’ll need to go back in and change the line again).
Since this issue I’ve already moved on to using MS Sharepoint as that’s the platform I’m working the most on and I’m taking advantage of an account I already have.
everything works well but I am wondering what is the official fix.
It looks like a theme rather than a wp problem.
Note that WP “out of the box” works fine, but something with Pagelines
I use Windows Live Writer with the default theme, Weaver II Pro (using 3.4 beta – the code is still there, line 3130), my own custom theme (modified Kubrick) and Atahualpa – works with all (knock on wood).
- The topic ‘Windows Live Writer no go with WP 3.1.2’ is closed to new replies.