我在个人插件中创建,从个人表中恢复数据。Con add\\u action(“the\\u content”,“my\\u plugin\\u content”);乌纳帕吉纳的《远观世界》(posso far vedere il contenuto)。我想用add\\u filter(\'save\\u post\',\'my\\u plugin\\u content\')保存wp\\u posts中的内容,但内容为空。
function my_plugin_content($content){
$current_page = $wp->request;
include_once(plugin_dir_path( __FILE__ ).\'views/view.php\');
$obj = new Loader;
$content.=$obj->controller($current_page);
$my_post = array();
$my_post[\'ID\'] = $post->ID;
$my_post[\'post_content\']=$cont;
}
在另一个文件中,我运行了数据恢复查询,我引用了加载视图的文件加载器
文件加载器
public function view($view, array $dati){
require(DIR_PLUGIN.\'views/\'.$view.\'_v.php\');
}
文件视图
<?php foreach($dati as $p){ echo \'<p><strong>\'.$p->NAME.\'</strong></p>; }?>
SO网友:Tom J Nowell
过滤器always 返回一些东西,它们不是操作,它们接受一些东西,修改它,然后返回它,但你的过滤器两者都不做。
因此,PHP声明它返回null
, 下一个过滤器接收null
作为帖子内容。
例如,此筛选器附加单词“Hey!”至内容末尾:
add_filter( \'the_content\', function ( $content ) {
return $content . \'Hey!\';
} );
因此,您需要记住以下几点:
过滤器经常被调用,不要在过滤器中做繁重的工作过滤器是用来过滤的,你需要先处理第一个参数,然后返回它always 退回一些东西不要echo
把东西放在过滤器上return
应用修改后的完整值
SO网友:Luca
内容为null,因为某些文件中缺少return语句。我使用输出缓冲区来检索完整的contentuno。。我决定将内容保存在主wordpress表中。
function my_plugin_content($content){
$current_page = $wp->request;
include_once(plugin_dir_path( __FILE__ ).\'views/view.php\');
$obj = new Loader;
$content.=$obj->controller($current_page);
$my_post = array();
$my_post[\'ID\'] = $post->ID;
$my_post[\'post_content\']=$content;
wp_update_post($my_post);
}
问题是内容被添加到了现有帖子的内容中。我希望内容被替换。最佳做法是什么?