首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用单独的模板/文件的Wordpress快捷代码?

使用单独的模板/文件的Wordpress快捷代码?
EN

Stack Overflow用户
提问于 2014-11-05 05:23:34
回答 2查看 1.6K关注 0票数 1

我正处于学习Wordpress (和短码)的早期阶段,所以请耐心等待:

对我来说,快捷代码就像是一把瑞士军刀,不需要在所有东西上都使用特定于页面的模板。我喜欢在wysiwyg中构建尽可能多的页面,但我经常需要一些(可重用的) php内容来以某种方式显示内容。

在谷歌了很多次之后,在我看来做短码的方法是这样的:

代码语言:javascript
复制
function caption_shortcode( $atts, $content = null ) {
  return '<span class="caption">' . $content . '</span>';
}

我的问题是,是否可以将html放在一个单独的模板文件中?将所有这些标记、转义引号等放在这里似乎是错误和冗长的。就像短码的模板文件,短码可以传递一些数据传输对象(或者只是一些限定了作用域的变量)。所以:在模板文件中显示,在短码函数中查找数据的逻辑(传递给所述模板文件)(在任何可能定义它的地方,functions.php,单独的插件,或其他)。

EN

回答 2

Stack Overflow用户

发布于 2014-11-05 05:43:22

您可以设置视图(php文件),然后将部分视图包含到这些视图中。Wordpress允许将模板包含在其他模板中,以确保代码重用,并且它很容易被子主题修改。您可以使用此函数包含以下内容

代码语言:javascript
复制
 get_template_part( $slug );

但是,在您的示例中,短代码函数需要将值返回给调用者函数。因此,此设置将不起作用。

票数 0
EN

Stack Overflow用户

发布于 2014-11-05 05:39:59

对于影响功能的代码,请将您的代码放在插件中。

要获得外观,请将代码放在主题的模板文件或funtions.php文件中。许多可怜的可湿性粉剂开发人员把他们所有的代码都放在主题的functions.php文件中,这通常是错误的地方(例如,如果代码可能会被导出到另一个主题)。只将特定于特定主题的代码放在主题的functions.php中。要让Wordpress识别您的插件,请创建一个php文件,并像这样启动该文件:

代码语言:javascript
复制
<?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知道你的函数是短码。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26745301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档