仅在某些页面上运行插件

时间:2020-04-03 作者:Luca

我只想在某些页面中使用我的个人插件。如果我删除了add\\u action函数(“the\\u content”、“my\\u plugin\\u content”);该插件不向我显示不在in\\u数组()中的其他页面的内容;

function my_plugin_content($content){
  global $post; global $wp; global $wpdb;
  $page =array(\'page1\', \'page2\',\'page3\');
  $current_page = $wp->request;
  if(in_array($current_page, $page))
  {
   $old_content=$post->post_content;
   $sql = "UPDATE wp_posts SET post_content = \'\' WHERE ID = $post->ID";
   $wpdb->get_results($sql);
   include_once(plugin_dir_path( __FILE__ ).\'loaders/loaders.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);
 }
}
add_action(\'the_content\', \'my_plugin_content\');

1 个回复
SO网友:Tom J Nowell

我想将另一个表中的内容加载到wp\\u帖子中,然后将其显示为普通页面。您推荐什么解决方案。

如果这是你的目标,那就使用短代码吧!

例如:

// PHP code
add_shortcode( \'footag\', \'wpdocs_footag_func\' );
function wpdocs_footag_func( $atts ) {
    return "foo = ".$atts[\'foo\'];
}
然后在您的内容中:

[footag foo=“bar”]

这张照片foo = bar 在前端

这个[footag] 将被您的shortcode函数返回的内容替换,并在生成页面时发生。您也可以将属性传递给它

了解更多信息add_shortcode 并查看以下官方文件中的示例:

https://developer.wordpress.org/reference/functions/add_shortcode/

相关推荐

Published pages missing

wordpress中缺少所有已发布的页面。他们仍然在我的网站(chrisjscambler.com)上在线,例如,我的家、研究和教学都在网上活跃;但它们无法在wordpress中编辑。直到最近,他们都在那里!有什么建议吗?