我正在尝试创建我的第一个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>\';
只有当插件被激活时?
谢谢大家!
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\' );
?>
The
the_content
过滤器将嵌入任何帖子、页面。。。取决于您的情况。使用add\\u shortcode方法,可以手动(在内容或小部件中)或直接在模板中使用
do_shortcode()
.
直接在模板文件中:
echo do_shortcode(\'[show_image]\');
您可以阅读有关这些函数的更多信息
add_shortcode(),
do_shortcode(),
the_content希望有帮助!