我正处于学习Wordpress (和短码)的早期阶段,所以请耐心等待:
对我来说,快捷代码就像是一把瑞士军刀,不需要在所有东西上都使用特定于页面的模板。我喜欢在wysiwyg中构建尽可能多的页面,但我经常需要一些(可重用的) php内容来以某种方式显示内容。
在谷歌了很多次之后,在我看来做短码的方法是这样的:
function caption_shortcode( $atts, $content = null ) {
return '<span class="caption">' . $content . '</span>';
}我的问题是,是否可以将html放在一个单独的模板文件中?将所有这些标记、转义引号等放在这里似乎是错误和冗长的。就像短码的模板文件,短码可以传递一些数据传输对象(或者只是一些限定了作用域的变量)。所以:在模板文件中显示,在短码函数中查找数据的逻辑(传递给所述模板文件)(在任何可能定义它的地方,functions.php,单独的插件,或其他)。
发布于 2014-11-05 05:43:22
您可以设置视图(php文件),然后将部分视图包含到这些视图中。Wordpress允许将模板包含在其他模板中,以确保代码重用,并且它很容易被子主题修改。您可以使用此函数包含以下内容
get_template_part( $slug );但是,在您的示例中,短代码函数需要将值返回给调用者函数。因此,此设置将不起作用。
发布于 2014-11-05 05:39:59
对于影响功能的代码,请将您的代码放在插件中。
要获得外观,请将代码放在主题的模板文件或funtions.php文件中。许多可怜的可湿性粉剂开发人员把他们所有的代码都放在主题的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>';
}
?>把这个文件放到你的插件目录中(通常,你应该为每个插件创建一个子目录)。插件通常保存在/wp-content/ Plugins /中。然后,当您转到管理菜单中的插件选项卡时,您可以激活或停用作为插件的代码。
当然,这个插件不会按原样做任何事情。请记住,插件功能应该通过动作钩子、过滤器和快捷码与Wordpress挂钩。例如,对于短码,你可以在某个地方使用函数add_shortcode来让Wordpress知道你的函数是短码。
https://stackoverflow.com/questions/26745301
复制相似问题