Test WordPress Schedule With Java

用Java写部落格排程

以上内容是用Java写出来的,另外这篇文章也设定成2012-03-13 22:00:00发布,这小小一步的前进,其实花费了很大的心力,我不得不承认Windows Live Writer很厉害,它可以在不须改Wordpress任何的程式码就可以作排程文章了,而这个机制ㄚ琪一直还不清楚是什么机制?

ㄚ琪比较懂的是用xml-rpc机制,因为有class-wp-xmlrpc-server.php原始码(注:这是目前的版本,以前的版本用xmlrpc.php)可以看,所以知道如何下手,要做排程有两三个人都说xmlrpc.php里的

	// Do some timestamp voodoo
		if ( ! empty( $post_data['post_date_gmt'] ) ) {
			// We know this is supposed to be GMT, so we're going to slap that Z on there by force
			$dateCreated = str_replace( 'Z', '', $post_data['post_date_gmt']->getIso() ) . 'Z';
		} elseif ( ! empty( $post_data['post_date'] ) ) {
			$dateCreated = $post_data['post_date']->getIso();
		}

		if ( ! empty( $dateCreated ) ) {
			$post_data['post_date'] = get_date_from_gmt( iso8601_to_datetime( $dateCreated ) );
			$post_data['post_date_gmt'] = iso8601_to_datetime( $dateCreated, 'GMT' );
		}

他们都说$post_data是阵列所以不能使用getIso()方法,对啊,又不是物件干嘛这样用,也因为如此一直失败。
后来ㄚ琪就按照这些人的建议把$dateCreated = $content_struct[‘dateCreated’]->getIso();这一行的getIso()干掉了,然后post_type设成post,post_status设成future,注意dateCreated时间要减8小时,不然每次都会变成+8小时,可能是我PHP的时间环境有设,所以会影响吧,总之先暂时这样了,等以后ㄚ琪了解live writer或是Wordpress的版本有更新,再来看看是不是有解了再变更。

接下来ㄚ琪要做所见即所得的编辑环境,请大家拭目以待。