我创建了一个小型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;
我做错了什么以及我有什么方法可以编辑/更新内容/帖子?
答案 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' );