如何在wordpress插件中动态编辑文章



我创建了一个小的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;

我做错了什么,我必须编辑/更新内容/帖子的方式是什么?

你必须使用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' );