我编写了一个外部脚本(仅供管理员使用),在顶部加载以下内容:
require_once(\'./../wp-blog-header.php\');
我知道它可以是一个插件,但现在还不是。。这只是一个标准的php脚本。
在这个脚本中,我有一个表单,允许查看的人更新标题。
这是他们提交表格时的代码:
$post_data = array(
\'ID\' => $_POST[\'post_id\'],
\'post_title\' => $_POST[\'post_title\']
);
wp_update_post($post_data);
wp\\u update\\u post()实际上返回了一个ID,这让我觉得它可以工作,但帖子根本没有改变,标题也从来没有更新过。
我可能会错过什么?如果它不起作用,至少我会预料到一个错误。
我确信ID和标题是正确/填写的。
SO网友:Eduardo Rengifo
有时,当我想在外部运行WordPress时,我会使用这段代码。
使现代化php
function find_wordpress_base_path() {
$dir = dirname(__FILE__);
do {
//it is possible to check for other files here
if( file_exists($dir."/wp-config.php") ) {
return $dir;
}
} while( $dir = realpath("$dir/..") );
return null;
}
define( \'BASE_PATH\', find_wordpress_base_path()."/" );
define(\'WP_USE_THEMES\', false);
global $wp, $wp_query, $wp_the_query, $wp_rewrite, $wp_did_header;
require(BASE_PATH . \'wp-load.php\');
$post_id = $_POST[\'id\'];
$title = $_POST[\'title\'];
// Update post
$my_post = array(
\'ID\' => $post_id,
\'post_title\' => $title, // new title
);
// Update the post into the database
wp_update_post( $my_post );
SO网友:Liz Eipe C
请使用以下代码更新标题。作为第一步,包括数据库文件。
require_once \'wp-load.php\';
require_once ABSPATH . \'/wp-admin/includes/taxonomy.php\';
然后使用下面的代码来编辑wordpress标题。
$updatePost = array(
\'ID\' => $postCSVContent[0], // wordpress Id
\'post_title\' => $postCSVContent[\'1\'], // Updated title
\'post_content\' => $postCSVContent[\'2\'], // Updated content
\'post_type\' => \'page\',
\'post_status\' => \'publish\',
\'post_author\' => 1
);
wp_update_post( $updatePost );
还请参阅教程,其中解释了如何从CSV读取数据并从外部对文章进行udpate。
http://www.pearlbells.co.uk/code-snippets/insert-update-wordpress-post-programmatically/