如何在wordpress插件中动态编辑帖子

时间:2013-04-30 20:20:48

标签: wordpress post plugins

我创建了一个小型wordpress插件,通过短代码显示页面中的人员列表。

当用户点击列表中的一个名称时,query_var会被设置,我的插件会捕获带有用户刚刚点击的人的特定ID的$ _GET。一切都很顺利。

我的问题是,现在我想要显示一个包含详细信息的页面(对于点击的元素)但我似乎无法编辑内容或发布到页面的帖子,它会将我返回到页面人名单。

我的问题是如何编辑帖子?我已经尝试添加一个add_filter('the_content','my_func'),但这不起作用,因为这个钩子可能已经通过了。

我可以通过get_content()或get_post()直接访问帖子,但我似乎无法使页面填充新数据。

换句话说......这似乎无效

$fid = $_GET['fid'];
global $wpdb;
$sql = "select * from fighters where fighter_id = {$fid} limit 1";
$fighter = $wpdb->get_row($sql);

$html = $this->_getFighterPageLayout($fighter);

$post = get_post();
$post->post_content = $html;
$post->title = 'test';
$post->private = false;
// or even just global $content = $html;

我做错了什么以及我有什么方法可以编辑/更新内容/帖子?

1 个答案:

答案 0 :(得分:3)

您必须使用Wordpress的钩子来更新内容。这适用于add_filter函数

尝试这样的事情,它应该有效

function mytheme_content_filter( $content ) {
     // Do stuff to $content, which contains the_content()
     // Then return it
     return $content;
}
add_filter( 'the_content', 'mytheme_content_filter' );