我现在处于学习Wordpress(和短代码)的早期阶段,所以请耐心等待:
对我而言,短代码似乎是瑞士军刀,不必使用特定于页面的模板。我喜欢在wysiwyg中尽可能多地构建页面,但是我经常需要一些(可重用的)php来以某种方式显示内容。
经过google搜索,在我看来,做短代码的方法就像:function caption_shortcode( $atts, $content = null ) {
return '<span class="caption">' . $content . '</span>';
}
我的问题是,是否可以将html放在一个单独的模板文件中?把所有这些标记放在这里似乎是错误和冗长的,逃避引用,等等。就像短代码的模板文件一样,短代码可以传递给某些数据传输对象(或者只是一些范围的变量)。所以:在模板文件中显示,用于在短代码函数中查找数据(传递给所述模板文件)的逻辑(无论它在哪里定义,函数.php,单独的插件或其他东西)。
答案 0 :(得分:0)
对于影响FUNCTIONALITY的代码,请将代码放入插件中。
对于外观,将代码放在主题的模板文件或funtions.php文件中。 许多正在开发的WP开发人员将他们所有的代码都集中到主题的functions.php文件中,这通常是错误的地方(例如,如果该代码可能会被导出到另一个主题)。只将特定主题的代码放在主题的functions.php中。 要让Wordpress识别您的插件,请创建一个php文件并启动如下文件:
<?php
/*
Plugin Name: My Caption Shortcode Plugin
Description: A really cool plugin
*/
function caption_shortcode( $atts, $content = null ) {
return '<span class="caption">' . $content . '</span>';
}
?>
将此文件放在plugins目录中(通常,您应该为每个插件创建一个子目录)。插件通常保存在/ wp-content / plugins /中。然后,当您转到管理菜单中的插件选项卡时,您可以将代码作为插件激活或取消激活。
当然,这个插件不会做任何事情。请记住,插件功能应该通过动作挂钩,过滤器和短代码连接到Wordpress。例如,对于短代码,你可以在某处使用add_shortcode函数让Wordpress知道你的函数是一个短代码。
答案 1 :(得分:0)
您可以设置视图(php文件),然后将部分视图包含在这些视图中。 Wordpress允许模板包含在其他模板中,以确保代码重用,并且可以通过子主题轻松修改。您可以使用此功能包含那些
get_template_part( $slug );
但是,在您的情况下,短代码函数需要将值返回给调用函数。因此,此设置将无法正常工作。