1. <div id="11111"></div>

    1. <div id="11111"></div>

      1. <div id="11111"></div>

        WordPress让插件随主题一同启用

        日期: 标签:WordPress教程 37 条留言
        如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

             在编写一个主题的时候,可能有些功能并不一定要在主题中实现,而是要借助一些插件来实现。那么我们如何做到在启用主题的时候,同时启用某个插件呢?

             我们可以在主题的functions.php中添加以下代码(这里以akismet为例):

        include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
        
        // 判断插件是否已经启用
        if (is_admin() && current_user_can('activate_plugins')
          && !is_plugin_active(ABSPATH . 'wp-content/plugins/akismet/akismet.php')) {
          // 启用插件
          activate_plugin(ABSPATH . 'wp-content/plugins/akismet/akismet.php');
        }

             首先我们需要include一下plugin.php,因为我们用到的两个函数is_plugin_active()和activate_plugin()都是在plugin.php中定义的,而主题文件不会自动引用这个文件。

             接着我们需要判断当前页面是否是后台,同时为了安全考虑,我们需要用current_user_can()判断当前用户是否有启用主题的权限。最后,判断插件是否已启用,这里使用插件主文件的路径,何为插件主文件呢?这个文件在插件目录下,一般与插件同名,用文本编辑器打开,一般会看到类似注释:

        /*
        Plugin Name: **
        Plugin URI: **
        Description: **
        Version: **
        Author: **
        */

             需要提醒的是,主题发布记得附带插件或叮嘱用户下载好插件。

        参考文章:
        Function Reference/is plugin active

        -- 完 --

        本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
        原文出处:露兜博客 http://www.szeverich.net.cn/how-to-activate-plugin-automatically-in-the-theme-wordpress.html
        露兜
        kaapass@outlook.com  QQ 825533758

        业余编程爱好者,主业是淘宝店主,卖些工艺品,感兴趣可以到我的淘宝店看看(旺旺不提供技术咨询):西西弗sisyphe

        37 条留言

        点此留言
        1. xiaomingtt

          这个功能还是不错的。

        2. Tokin

          如果改用户没有下载这个插件…

          • Ludou

            @Tokin 那么啥事没有。

            • Tokin

              @Ludou ludou,我有个问题想问一下,比如知道分类ID为3,怎么才能获取这个分类名称呢?这个问题我反复搜了N次,也没找到答案

              • Ludou

                @Tokin < ?php echo get_the_category_by_ID( $cat_ID ); ?>

                • Tokin

                  @Ludou 谢谢啦,我去添加到我主题上去

        3. heasily

          大哥,如何在query_posts循环体内获取每篇文章的评论数量,是单纯的数值,不是comments_popup_link这种。。。。请问如何写

        4. heasily

          请问query_posts循环体可用的参数有哪些?有详细的介绍页面吗

          • Ludou

            @heasily http://codex.wordpress.org/Function_Reference
            http://www.google.com

        5. heasily

          那如果我在wp_posts新建了一个字段(比如:old_comment_count),我在这个循环体内该 怎么获取old_comment_count?

          • Ludou

            @heasily http://www.szeverich.net.cn/wordpress-add-post-column.html

        6. 西门

          确实是个不错的想法,以前还真没考虑到。不过我一般都是尽量少用插件

        7. Laycher

          露兜元旦闲了,发文章也多了。
          祝新年快乐。
          这个技巧可以在写主题的时候学习加上一下,如果该主题不存在可以弹出对话框提醒用户。

        8. 小时候爱玩

          博主,请教你一个问题,就是我自定义了一个产品类,产品类增加了像文章的那种标签代表产品的品牌,但是页面不能重写,请问是什么原因?具体请参看http://www.dgz88.com/brand/niulaixiang/

          • Ludou

            @小时候爱玩 不太明白你的问题,如果是指post type,可以参考这篇文章:
            http://justintadlock.com/archives/2010/08/20/linking-terms-to-a-specific-post

            • 小时候爱玩

              @Ludou 主要是页面不能重写的问题,看了你给的页面好像不是一样的问题

        9. 向日葵媒体设计

          以后做主题时可以用~

        10. heasily

          有时候发布不了评论

        11. heasily

          xxx.com/?author=11这样的URL请问如何添加 xxx.com/?author=11&fans 这样的字段,让该用户界面显示其它内容,比如查看该用户关注的东西。该如何操作哦?就是include该用户的FANS.PHP 页面。。。。。URL上如何设置?

        12. heasily

          大哥,侧边栏如何获取用户归档页的用户ID?还有分类ID

          • Ludou

            @heasily <?php
            // 如果当前页是分类页
            $cat_obj = $wp_query->get_queried_object();
            $thisCat = $cat_obj->term_id; //分类id
            ?>

            用户id:
            <?php
            global $user_ID;
            echo $user_ID; ?>

            • heasily

              @Ludou get_the_author_meta('ID')这个好像也可以,不知道会不会比 <?php
              global $user_ID;
              echo $user_ID; ?>更省内存

        13. heasily

          wordpress使用固定链接后,如何通过类似&qqq=1的URl传值哦?

          • heasily

            @heasily 我使用了$_GET['XX']获得了这个传值问题了。谢谢大哥

        14. heasily

          比如字段中有 1,11, 我使用REPLACE(follow_man, '1,', '' ) 它会把,11,删除掉,只剩下1 请问如何完全匹配,只删除完全匹配的数字和逗号哦?

        15. heasily

          字段中有 1,11, 我使用REPLACE(follow_man, '1,', '' ) ,它会把1,1,都删除掉,请问如何完全匹配哦,只删除1, 保留11,

          • Ludou

            @heasily 能不能不发表相同的问题?!

        16. 唯美网

          看博客侧边栏的返回顶部,有点类似天猫。。

        17. xuanxi

          插件选项 及设置 可以保存吗?

          • Ludou

            @xuanxi 默认的选项和设置会随插件启动而保存,但这不是绝对,取决于插件代码怎么写的。
            一般的插件选项及设置都需要用户自行设置并保存,自动保存的都没得选,如何称得上"选项"
            如果你想如何给插件添加选项,可以google:wordpress 插件 选项

        18. BGMiao

          请问露兜大大 如何将插件与主题整合到一起啊 有这方面的教程吗

        发表留言

        可以挣钱的游戏 85| 999| 740| 111| 80| 247| 72| 10| 809| 727| 993| 70| 259| 440| 155| 502| 217| 603| 911| 140| 177| 301| 905| 504| 405| 221| 300| 491| 497| 84| 651| 639| 805| 288| 573| 239|