如何在WordPress中创建一个显示/隐藏html代码的简单插件?

时间:2016-12-08 作者:pachakech

我正在尝试创建我的第一个wordpress插件。我会尽力解释我想做什么。。。希望有人能帮我:)

我想允许backoffice用户通过一个简单的按钮在我网站上的某个地方的两个html代码之间切换。在我的网站的某个地方有一段视频嵌入了生活代码。但是,如果没有live,用户希望显示图像。

所以我尝试创建一个钩子,当插件激活或取消激活时,钩子会发生变化。我把<?php my_switch_function(); ?> 我希望代码出现在哪里,并将其放入插件中:

<?php
/**
 * Plugin Name: Europhonica Image/Vidéo switch (by Jules)
 */

 function my_switch_function() {
    do_action(\'my_switch_function\');
}


 add_action( \'my_switch_function\', \'image_my_switch_function\' );


function image_my_switch_function() {
  echo \'<p>Image</p>\';
}



 ?>
但什么都没发生。。。我的功能在我们访问网站时显示为评论。。。你知道如何展示echo \'<p>Image</p>\'; 只有当插件被激活时?

谢谢大家!

1 个回复
SO网友:Benoti

有很多方法可以做到这一点,创建一个快捷码,将其放置在任何你想要的地方,或者过滤帖子内容并添加你想要的内容。

如果插件未激活,则不会显示,

<?php
/**
 * Plugin Name: Europhonica Image/Vidéo switch (by Jules)
 */

 // the_content method
 add_filter( \'the_content\', \'image_my_switch_function_content\' );
 function image_my_switch_function_content($content){
      if(is_user_logged_in()){ // change with your conditions
            $content = \'<p>Image</p>\'. $content
      }
      return $content;
 }
 // shortcode method
 add_shortcode(\'show_image\', \'image_my_switch_function_shortcode\');

function image_my_switch_function_shortcode($atts, $content="null") {
     if(is_user_logged_in()){ // change with your conditions
          return \'<p>Image</p>\';
     }

}
// Enable the use of shortcodes in text widgets.
add_filter( \'widget_text\', \'do_shortcode\' );

?>
Thethe_content 过滤器将嵌入任何帖子、页面。。。取决于您的情况。使用add\\u shortcode方法,可以手动(在内容或小部件中)或直接在模板中使用do_shortcode().

直接在模板文件中:

 echo do_shortcode(\'[show_image]\');
您可以阅读有关这些函数的更多信息add_shortcode(), do_shortcode(), the_content

希望有帮助!

相关推荐