本文实例讲述了php中钩子(hook)的原理与简单应用。分享给大家供大家参考,具体如下:
基础插件是一些通用组件,一般使用composer安装,代码放置于vendor下。安装的时候可以将一些自定义的配置(中间件、进程、路由等配置)自动拷贝到{主项目}config/plugin目录下,webman会自动识别该目录配置并将配置合并到主配置当中,从而让插件可以介入到webman的任何生命周期当中。
emlog 支持插件机制,这样使得开发者可以方便地向emlog 中添加自己需要的功能。
本文有助于你深度了解 WordPress 主题和插件的 PHP 加载顺序,学习 Hook(钩子)Action(动作钩子) Filters(过滤钩子)的概念,弄懂 WordPress 重要函数:do_action、add_action、apply_filters 和 add_filter。
WordPress 中的插件是添加或扩展功能的组件,可根据需要启用或禁用,并且不会干扰核心程序/软件及其代码。WordPress 被设计为轻量级和流畅的,以增加灵活性并减少对基本网站功能可能不重要的代码。然后插件添加自定义特性和功能,允许用户根据他们的特定要求设计站点。
下载PHP Intelephense这个插件,要求php版本大于7,且设置环境变量。
本篇文章中介绍的扩展是 vscode-phpcs,用于项目开发中 PHP 代码的编码规范。
1、根目录:前台程序文件 2、admin:后台程序文件夹 --根目录:后台程序文件 *.php文件 --help\zh_cn:各功能的帮助文件 *.xml文件 --images:后台页面用图片 --includes:后台公用文件和函数 --js:后台用js脚本 --styles:后台用样式表 --templates:后台页面模板 *.htm文件 3、api:调用API的系统公用函数 4、cert:存放证书的文件夹 5、data:数据连接设置等,包括各种广告的上传图片等 --afficheimg:首页flash广告图片 --brandlogo:品牌logo 6、images:上传商品图片文件夹,按日期分目录 --200902:按月份划分商品图片 --upload:上传文件夹,包括file、flash、image和media 7、includes:前台公用文件和函数 --codetable:语言对应的代码表 --fckeditor:开源html文本编辑器 --modules\convert:shopex转换文件 --modules\cron:如自动上下架、ip删除等函数 --modules\integrates:整合各种插件和函数基础类 --modules\payment:各种支付接口插件 --modules\shipping:各种送货方式插件 8、install:系统安装文件夹,用后请删除 9、js:前台用js脚本 --calendar:日历控件 10、languages:语言文件 --zh_cn:简体中文语言文件,存储简体中文下使用的函数变量等 --zh_tw:繁体中文语言文件,存储繁体中文下使用的函数变量等 11、temp:存放临时缓存等文件 12、themes:模板文件夹,可以随意拷贝模板样式 13、wap:手机浏览程序 --includes;公用文件和函数 --templates:页面模板 *.wml文件。
functions 函数插件 modifiers 修饰插件 block functions 区块函数插件
WordPress网站产生的max_execution_time致命错误在您的WordPress管理仪表盘中如下所示:
我们希望规范项目开发中PHP代码的编码规范,锁定了php-code-sniffer这款插件,在安装执行过程中遇到的问题及理解分享如下
这两天有点时间,花时间学习了一下PHP基础语法和语句。因为个人比较喜欢Visual Studio Code这款编辑器,所以学习我主要记录一下使用VSCode学习PHP的遇到的一些问题。其中最主要的就是怎样使用VSCode调试PHP代码。
自【网站安全的「灯下黑」隐患:账号安全】一文发表后,明月收到了很多站长们有关 WordPress 站点安全的问题咨询,明月总结分析了一下几乎 90%以上都是“恶意代码”造成的,而给站点带来恶意代码的插件就占了 80%以上(有官网插件、网上流传的插件等等),其他的就是主题了(以破解版、盗版主题为主),其实无论是“恶意代码”还是“后门木马”都是以代码的形式在服务器上传播破坏的,今天明月就跟大家讲讲如何通过对代码的分析来提前找出这些“肮脏”的东西。
最近在开发者群体中,「学 PHP 还有用吗」的讨论越来越多,在各种技术论坛上,曾经「PHP 是世界上最好的语言」的呼声似乎也没有以前那么强烈的。
在本文中,我们将为您展示如何构建一个利用机器学习来阻止垃圾邮件、成人邮件,甚至是负面评论的WordPress插件。该插件兼容WordPress 3.6v或更高版本,并且使用了Datumbox API 1.0v。尽管本文讨论了WordPress插件的开发,但我们应该注意到通过使用Datumbox API,可以非常方便地保护任何类型的在线社区免受垃圾邮件、攻击性或不适当的内容侵害。具体实现请继续往下阅读。
1、PHP Intelephense: 超好用 php 智能代码提示器,支付代码提示、查找定义、类搜索等功能,非常强大
在云函数(Serverless Cloud Function,SCF)已支持的开发语言及版本的标准运行环境外,为了满足更多个性化开发语言及版本的函数实现,SCF 提供了 Custom Runtime 服务,即可定制化运行环境。通过开放实现自定义函数运行时,支持根据需求使用任意开发语言的任意版本来编写函数,并实现函数调用中的全局操作,如扩展程序的加载,安全插件,监控 agent 等。SCF 与 Custom Runtime 通过 HTTP 协议通信完成事件的响应处理。
上一篇文章是《WordPress 路径相关函数总结(二):主题路径相关函数》,今天这一篇则是针对WordPress 插件的函数,对于开发WordPress 插件的开发者很有帮助;之前在更新S-shortcodes v2.1.0 版本的时候就是采用了下面其中一个函数才完美解决路径的问题。 plugins_url() 获取当前插件的目录的URI,例如一个插件位于/wp-content/plugins/myplugin下,该目录下放有插件的主文件名为myplugin.php,在myplugin.php中执行下面的
WordPress用Memcached缓存也已经半年之久了。对博客的访问速度提升还是很明显的。之前写过一篇文章介绍Memcached缓存以及如何部署(通过WPJAM Basic插件实现)
前面介绍了如何在侧边拦设置登录窗口,其中 Brezeck 由于使用 Widget 不好使用这个插件,于是今天去查了下怎么写 Widget 插件(可能需要代理才能访问),花了1个小时写了这个 Widget 插件,由于时间仓促,可能存在些错误,如果你发现,请向我 report 下。
如果你的 WordPress 安装了 PHP Everywhere,那么你要赶快升级到 3.0 版本或者删除了,因为近日该插件被披露存在三个严重的安全漏洞,攻击者可在受影响的网站上利用该漏洞,执行任意代码。
WordPress 用户最头疼的问题就是站点白屏打不开了,或者后台进不去了,这就是 WordPress 的致命错误,英文是 White Screen of Death(白屏错误),简称:WSoD。
在本文中,我们将看到我们如何构建一个使用机器学习来阻止垃圾邮件,成人邮件,甚至是负面评论的WordPress插件。该插件与WordPress 3.6v或更高版本兼容,并使用Datumbox API 1.0v。尽管本文讨论了WordPress插件的开发,但我们应该注意,通过使用Datumbox API,可以非常容易地保护任何类型的在线社区免受垃圾邮件,攻击性或不适当的内容侵害。阅读下面,你会看到如何达成目的。
如果熟悉其他 PHP 平台的 CMS 系统的话,那么我们会发现 emlog 的插件制作过程是多么的暴力和简单。
前天写了一篇关于如何增加博客粘性的日志,今天在搜索中到了 BloggingPro China,看到在其页面上,能够显示我是来自 Google 搜索而来自他的网站,并且还推荐几篇类似的文章。我想这个插件页是能够帮助提供你的博客粘性的插件,于是从 BloggingPro China 处得知,这是一个叫做 Landing Site 的插件。于是今天就给大家介绍下这个怎么使用下这个插件,希望这个插件也能增加你的网站的粘性,提高点击量。 首先 Loading Site 这个插件安装是非常简单的,下载然后上传到插件文件夹,如果你的 WP 是1.5(还有人用吗?:-))就要你在你的数据库中手工执行以下 SQL 语句(可以通过 PHPMyAdmin):
出于某些目的(如多用户博客防止一些小白乱搞),需要禁止(删除/移除)WordPress后台插件管理的 “编辑” 与 “停用” 功能,具体是WordPress 后台-插件-已安装插件 那里的每一个插件都会有的“编辑”与“停用”入口。下面提供一段代码实现这个功能: 在主题的 functions.php 文件下加入以下代码: add_filter( 'plugin_action_links', 'slt_lock_plugins', 10, 4 ); function slt_lock_plugins( $act
warning: 这篇文章距离上次修改已过608天,其中的内容可能已经有所变动。
Yaf在自启动的时候, 会通过SPL注册一个自己的Autoloader, 出于性能的考虑, 对于框架相关的MVC类, Yaf Autoloader只以目录映射的方式尝试一次.
因Notepad++打开命令行后,环境变量没起到作用,无法运行php文件,但可以通过cmd运行php,后来解决方案:
插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候激活它,不需要它的时候禁用/删除它;且无 论是激活还是禁用都不影响系统核心模块的运行,也就是说插件是一种非侵入式的模块化设计,实现了核心程序与插件程序的松散耦合。一个典型的例子就是 WordPress中众多的第三方插件,比如Akimet插件用于对用户的评论进行Spam过滤。
AdsMatcher Anti Adblock 是一款用来防止广告被拦截的 WordPress 插件,如果你的站点上投放了广告,而你又不希望用户屏蔽广告,不妨尝试一下这款插件吧。当用户访问你的站点时,如果开启了广告屏蔽,就会弹窗阻止用户继续浏览你的站点,可以起到防广告被拦截的目的。
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
wp-postviews-plus,该插件可以统计每篇文章的浏览次数,根据展示次数显示历史最热或最衰的文章排行、展示范围可以是全部文章和页面,并且启用插件后自动在外观-小工具中生成浏览数排行的小工具,你可以把它拖到边栏中构建阅读排行、热门收藏等待栏目。wp-postviews-plus 可以设置统计对象:任何人、匿名访客、已登录用户,可以排除统计蜘蛛爬虫。最新版的wp-postviews-plus已经支持缓存并且已经支持中文,即使你使用了 WP Super Cache 等缓存插件缓存,它照样可以正常统计。
对"钩子"这个概念其实不熟悉,最近看到一个php框架中用到这种机制来扩展项目,所以大概来了解下。 所谓Hook机制,是从Windows编程中流行开的一种技术。其主要思想是提前在可能增加功能的地方埋好(预设)一个钩子,这个钩子并没有实际的意义,当我们需要重新修改或者增加这个地方的逻辑的时候,把扩展的类或者方法挂载到这个点即可。
最近才用上vs code神器,之前一直是sublime一条道走到黑,前段时间sublime疯狂正版守卫行为,让我的sublime一下子回到了解放前。不得已,只得换,群里大佬安利了vscode。那就这个吧,下载下来,安装,第一件事情就是左下角设置颜色主题:monokai。接着当然是字体定义,之前安利过的Source Code Pro,monokai搭配Source Code Pro,简直黄金搭档,雀巢加伴侣。当然除了这些,插件必不可少,所以就在插件市场一番淘换,找了这么几款,个人觉的还不错,当然这些主要是针对PHP开发者的。
为插件创建类主要是规范,避免与其他插件的方法重名,方便调用 定义插件类 以上一篇文章编写的插件为例 class my_change_font_style{ } 在构造方法调用HOOK function __construct(){ //创建菜单 add_action('admin_menu',array($this,'my_create_menu')); } 这里以字符串调用方法的方式与之前不同 array($this,'方法名称') 调用
Discuz是国内比较知名的开源论坛了,后来被腾讯收购,Discuz在设计时就考虑了生态体系的建设,支持插件设计,可以让广大开发者朋友来一起建设生态,不得不说设计者是很有商业头脑的。
在前面关于 WordPress 统计插件:Counterize II 中提到过 Popularity Contest 这个插件,这是一个我非常喜欢的插件。我想很多人都用过这个插件,而且基本上都不会有任何使用上的问题,因为这个插件很容易安装和使用。所以今天我会除了基本介绍下这个插件之外,然后谈谈怎么扩展使用这个插件。
这款插件是今天在研究互推联盟页面在荣誉站点的点击率统计时发现的,感觉非常给力,一个顶四! 先来几张截图: 全部功能菜单: 非常详细的访客清单,还可以看到蜘蛛爬行痕迹: 访客总览图:
既《至顶至底 (雷姆拉姆)emlog插件》插件发布后,特此发布WordPress版本的插件。
目前网站服务器带宽比较贵,在有限的小水管带宽前提下,如何加速wordpress访问倒是个难题,蜗牛般的速度强制劝退不少访问者,但是加钱加带宽嘛,又舍不得,现在图图来教小白们如何加速wordpress前后台访问,本篇文章就将配置方法分享给大家。
上一篇文章写了点关于插件开发的东西,这一次打算就插件目录,以及各自的作用做一个补充说明.凡事几天不用,隔几天再看似乎倍感亲切.
前几天在修复留言日期显示错误的问题时,突然觉得可以在这个位置集成一下访客信息,因为见到过不少博客的留言板都有了类似的功能。经过搜索、测试并筛选,最终选定了 Show UserAgent 这款插件。在本地测试了一下,感觉还不错! 一、强迫症 在我熟悉了 WordPress 插件机制后,我总是强迫症的想将插件修改为代码集成。实际上插件和代码的差别只在于代码不需要用到一些钩子动作(hook action)和选项数据(option data)。很多人说插件用多了会拖慢速度,没错是有这么回事,但是如果你把同样数量的插
性能是一个网站成功的非常关键因素,任何人都不喜欢访问速度超慢的网站。WordPress 的开放性造就 WordPress 有着成千上万的插件,使得 WordPress 比以其他 CMS 程序更受欢迎,但是开放也在一定程度上使得 WordPress 的性能不是很好,所以当你发现你的 WordPress 站点性能很差,你应该尝试通过下面的方式去优化它:
介绍一下WordPress网站如何安装Memcached扩展,搞定WP网站加速的问题,编程笔记也看了不少的教程,基本上千篇一律吧,这里介绍的memcached安装教程也记录了品编程笔记安装Memcached扩展过程中遇到的一些问题,最终品自行博客亲测成功。
原本之前还有篇ruby的,拖得时间有点久了,同时本身没想过去过多接触ruby,所以暂且就不再祸害那篇文章了,有兴趣的可自己去看Creating a Ruby DSL: A Guide to Advanced Metaprogramming,以下为本文的英文原文链接:
虽然说网上有handsome主题专用的UA插件,但都是引用的第三方IP库,接口会影响网站速度,本站插件用的是本地IP库,这就是选择这个插件的原因。
AI摘要:文章介绍了如何在Joe主题中使用ArticlePoster插件生成文章海报。首先,需要下载并安装Joe专版的ArticlePoster插件,然后在后台管理系统中启用并配置该插件。接着,在指定的PHP文件中添加一个挂载点,以便插件知道在哪里生成海报。完成这些步骤后,就可以在Joe主题中使用ArticlePoster插件生成文章海报了。
今天在弄让Typecho支持emoji,网上看了不少文章,都说要修改数据库,对于新手来说还是有点难度的, 最后找到了一篇是有人做了一个emoji插件,但是还需要修改根目录下config.inc.php, Typecho之所以不支持emoji 是因为数据库编码默认是 utf8,字符的最大长度为3个字节,而 emoji 需要4个字节。 只需改成 utf8mb4 编码即可。注意:MySQL 版本至少需要 5.5.3。可以在宝塔面板里检查一下MySQL 版本
领取专属 10元无门槛券
手把手带您无忧上云