首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Genesis框架从入门到精通(1):什么是框架?

WordPress主题框架Genesis的工作原理可能会让很多人感到困惑不解,这导致开发者在开始用Genesis框架时可能会一脸蒙逼,无所适从。...在顶部和底部应该是两个比较眼熟的函数get_header()和 get_footer(), 它们会加载 header.php 文件和footer.php 文件。...do_action() 函数的作用是用“钩子(hook)”把需要执行的动作函数(action)“勾入”到Wordpress中,用来执动作函数中的代码。...这个文件中有7个“钩子”,分别会把不同的动作函数“勾入”wordpress中。我将在稍后解释什么是动作函数,现在让我们先简单的总体看一下Genesis里典型的“钩子”的结构和加载过程。...,写过不少Genesis插件,也是一个全职的Genesis自由顾问。

1K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Code Embed:在WordPress文章和页面中添加Javascript的最佳插件

    所以,当我们在谈论在WordPress中嵌入JavaScript时,特指的是浏览器端的JavaScript。 为什么要在WordPress文章或页面中添加JavaScript?...一般来说,在WordPress文章或页面中插入JavaScript的方法有如下几种: 编辑器:在古腾堡编辑器中插入一个HTML块,把代码以HTML的形式插入。...比如在本博客WordPress 精品插件大全页面的开发小记中的Python代码、PHP代码的嵌入就是直接使用了gist提供的JavaScript嵌入方式 PHP文件:WordPress核心代码中已经自带了很多的...Code Embed:在WordPress文章和页面中添加Javascript的最佳插件 插件介绍 这个插件的作者是David Artiss,从他的自我介绍里得知他是 WordPress.com VIP...安装WordPress插件的步骤很简单,可以下载WordPress插件文件并上传到你的站点。或者,使用WordPress仪表板中的“添加新插件”功能。安装后不要忘记激活插件。

    4.6K40

    WordPress 常用动作钩子 (action)分享

    在制作主题和插件,或者为 WordPress 增加某些功能时,一般都要使用 WordPress 的动作钩子 (action),分享几个比较常用的动作钩子,以备用时查看。...在大多数的插件中,在这个钩子触发之前,不应该执行其他的代码。plugins_loaded 在所有用户启用的插件都被 WordPress 加载之后执行。...这也是在加载过程中插件开发这最早能用到的钩子,WordPress 的插件应该在这个钩子中执行安装,其他动作也应该添加到这个钩子的回调函数中。...因为这时几乎 WordPress 中的所有内容都就绪了,当 WordPress 的所有信息都可用时,你的插件使用这个钩子差不多可以做任何需要的事情了。...有些插件错误的使用了 wp_head 动作钩子来添加 JavaScript 代码,实际上应该使用 wp_enqueue_script() 函数的。

    79620

    使用 WordPress 快速打造个人 Wiki

    在之后,我也写过几篇 “如何使用容器技术搭建 WordPress” 的文章,据官方数据称 WordPress 目前已经占据了互联网 34% 的应用,写作体验和插件生态其实还是很棒的,那么我们为何不使用...在使用了4个月之后,体验下来问题不大,我决定把方法分享出来,希望能帮到更多的人。如果你熟悉 WordPress 的搭建,本篇将文章两三分钟内就能够搞定啦。...php get_footer(); ?> 当你在 Wiki 中适当填充一些内容之后,你会得到这样的页面。 ?...并且个人 Wiki 几乎没有搜索引擎 SEO 的需求。 在插件中心搜索并安装 WPCodeHighlight.js,启用插件后,文章中的代码便会自动进行高亮展示啦。 ?...当然,我的个人成长过程中也多次受惠于这套软件。我认为这是一款伟大的软件,某种意义来说,也是一个很成功的开源项目。

    1.8K40

    WordPress架构简单剖析

    无论是在访问前的缓存、访问后的统计、访问中的过滤、各种流程的修改等等, 几乎都能够以插件的形式进行修改. 我觉得这太酷了, 如果在我平常业务上能够将架构写成这样, 还有什么需求变化能难倒我?...WordPress的钩子函数通过do_action和apply_filters两个方法进行调用, 看过方法add_action发现, 它就是简单的调用了add_filter方法....在WordPress中, 随处可见各种钩子的调用, 初始化的时候、加载插件、插件加载完成、加载主题等等等等....我数了一下, 目前一共1470个钩子. https://developer.wordpress.org/reference/hooks/ 可以说, WordPress就是通过各种钩子以及拼图式页面, 分别实现展示和流程的个性化定制...在log_query方法中, 记录到了queries变量中. 这个操作对于数据库的调优还是比较方便的.

    1.5K40

    如何开发一个简单的WordPress 插件

    通过使用钩子,插件可以在 WordPress 的生命周期中插入自定义功能。...第二部分:创建第一个 WordPress 插件2.1 环境准备在开始开发之前,确保你有一个运行中的 WordPress 环境。...第三部分:深入插件开发3.1 使用钩子3.1.1 动作钩子动作钩子允许你在 WordPress 的特定事件发生时执行代码。...以下是创建设置页面的步骤:3.3.1 添加菜单项在插件文件中添加以下代码,以在 WordPress 管理菜单中添加一个设置页面:function my_first_plugin_menu() {...可以在 WordPress 插件目录中创建一个帐户并提交插件。提交时需要提供以下信息:插件名称插件描述插件版本插件文件5.2 维护插件发布后,定期维护插件是非常重要的。

    35010

    WordPress插件设计

    1、关于安装和反安装 WordPress中这两个概念比较淡,取而代之的是启用和禁用,因为默认插件是不启用的,反正只有一次执行机会,最终效果差不多,只要概念上保持一致。...当然也可以注册卸载的钩子:register_uninstall_hook 2、插件说明信息 这些通过在主文件的描述里表示: * Plugin Name: Akismet Anti-Spam Plugin...4、注册api 想自己注册路由,在系统中添加新的api接口的话,WordPress也是支持的 add_rewrite_rule('post/([0-9a-zA-Z\-_,]+)/([0-9a-zA-Z...,这2个是WordPress中使用最多的钩子,最终实现机制差不多,都是先声明,然后在代码中使用的地方调用相关回调/钩子,最后插件可以针对自己感兴趣的action/filter注册相关的回调。...三、整体感受 整体来说,WordPress的插件做的是比较灵活的,通过观察者模式,通过钩子回调的方式,让插件可以快速、简单的关注自己感兴趣的扩充点,做到处处可扩展。

    83030

    Genesis框架从入门到精通(2):什么是动作?

    在本系列的前一篇文章中,我解释了Genesis框架和乐高之间的相似性。我列出了Genesis所有内置的“钩子”,把它们比喻成乐高里连接各个积木块的小凸点。...这是必须的,否则就会报错:“第二个参数应该是一个有效的回调函数。”这意味着你需要使用Genesis现有的内置函数(这些函数的作用非常酷,我将在下一篇文章中详细介绍),或者你需要创建一个自己的函数。...具有相同优先级的动作(action)将按出现的顺序来执行,WordPress核心代码,插件,框架文件,主题的fucntion文件,主题的模板文件加载。我将在下一篇文章中更详细地讨论这个问题。...在我的插件“Genesis Featured Widget Amplified”中,我使用钩子函数获取$instance的值作为widget配置选项,并把值发送出去,使这个值可以在类之外获取。...这意味着我可以在我的functions.php文件中编写代码,并在它执行任何操作之前检查widget的配置项。

    74920

    WordPress的可拓展性初探(二)

    例如,原工程如果有升级,那么我们拿到了原工程的代码之后,又要找到原来的地方,又要重新插入一遍自己想要实现的功能,费时费力。 在WordPress中,为了避免这样的问题,引入了一个钩子方法的概念。...WordPress在设计的时候考虑得相当周到,可以说插件开发者需要插入代码的地方,都已经有了钩子方法了。 钩子方法的本质其实就是是动态调用函数。...如果我需要在文章被保存的时候执行一些特殊功能,比如说给某个指定的邮箱发邮件。那么我首先需要在插件中实现发邮件的功能,并且在特定的钩子方法中注册我的函数。...这样就达到了在特定的位置执行插件定义的代码的目的。 这样做的好处是,无论WordPress如何升级,只要钩子方法的定义没有改变,那么原有插件就可以不加修改正常工作。...我们亦可以在我们的工程中借鉴这样的思路,从而使我们的工程也具有高可扩展性。

    772120

    编写自己的 WordPress 模板

    如果 你想了解更多关于开始使用 WordPress 的信息,请参阅这篇文章。 在整个开发过程中遵循的概念设计,可以是 PSD 或 HTML CSS。 PHP 编程的一点介绍。...你需要知道的第一件事是, 你在 WordPress 中所做的几乎所有事情都在 wp-content 目录中。其他一切都是 WordPress CMS 本身,你不想搞砸它。...这里要提到的另一件事是,我在文件中使用了“硬编码”子部分,如“联系人”和“链接” footer.php。相反, 你可以使用 WordPress 小部件来自动化并使它们直接通过定制器进行修改。...在我们的例子中,我们将使用存档链接和社交媒体链接。同样,WordPress 小部件比“硬编码”的垃圾要好得多!但为了清楚起见,我们将坚持后者。...在 content.php 中,我检查了当前帖子是否为 is_single()。如果当前页面仅包含要循环的单个帖子,则此条件将成立。当它不是单身时,我想通过其标题链接到该帖子。

    1.4K30

    WordPress 主题和插件的加载运行机制、Hook钩子与重要函数

    本文有助于你深度了解 WordPress 主题和插件的 PHP 加载顺序,学习 Hook(钩子)Action(动作钩子) Filters(过滤钩子)的概念,弄懂 WordPress 重要函数:do_action...在 wp-blog-header.php 文件中可以看到,在 wp-load.php 下,引用了 template-loader.php,该文件的功能就是进行我们后续的主题加载。...结论 经过上述的分析可以得出一个结论,WordPress 的加载是这样的一个顺序,先加载 插件,再加载 主题根目录中的 functions.php,最后加载主题。...什么是 Hook WordPress 的插件机制是基于 Hook 机制实现的,简单来说,就是在 WordPress 的核心代码中,加入了大量让 Hook 挂载的位置,当程序执行到这里时,就会顺着 Hook...举个例子,我希望了解 save_post 这个 Hook 的参数,可以到它的 API 页面去查看具体的参数调用。可以看到在示例代码中说明了参数的个数和对应的参数的含义。

    1.4K10

    WordPress 通过模板文件和自带的函数引入 cssjs 的两种方法

    默认值:false $in_footer(布尔型)(可选)通常情况下脚本会被放置在区块中。如果该函数为true,脚本则会出现在区块的最下方。要求主题在适当的位置中包含有 wp_footer() 钩子。...在 WordPress 中,注册样式是“可选的”。如果你的样式不会被其他插件使用,或者你不打算使用任何代码来再次加载它,你可以自由地排队样式而不需要注册它。继续看看它是如何实现的。...用来在WP登录页面加载脚本和CSS 以下是这些钩子的示例: 的情况也是很常见的。比如我单独创建了一个链接页面,在这个页面中我使用了 jQuery 方法来获取链接网站的 favicon。...WordPress 默认在 wp_head() 中处理,而我们改为在 wp_footer() 中处理。

    1.8K30

    WordPress 教程:如何在发布文章前对文章内容进行预处理

    我们在 WordPress 发表文章的时候,有时会遇到一些特殊的需求,比如把文章中的链接变成可点击,或者过滤掉文章内容 HTML 标签中的某种属性等。...有一个很强大的“钩子”(hook)开发机制,实现各种功能和开发插件必不可少的功能。...简单的说,就是 WordPress 在执行某些关键性的操作时(例如发表文章、发表评论、修改文章、删除文章、新增用户等等),会插入一个“钩子”,这样你就可以在 functions.php 中或者插件中,使用...例如在发表文章的时候,在提交到插入数据库之前,会有一个叫做 wp_insert_post_data “钩子”,如果你想对文章进行过滤处理,你就需要在 functions.php 文件中,新建一个处理函数...“钩子”就可以开始使用了。

    64240

    WordPress关键违禁词自动屏蔽替换插件wpkeybk

    这个插件是因为有一个Wordpress网站用了第三方的论坛插件,Asgaros论坛插件,但是这个论坛插件本身不支持设置关键词屏蔽,找了下有类似的插件,但是没有免费,并且也不支持Asgaros论坛插件,所以就让...ai简单写了一个,这个插件有一半代码都是ai写的,能用就行,毕竟这个功能的需求对于Wordpress来说应该更小众。...功能: 后台设置关键词 支持标题、内容、评论的关键词屏蔽 支持Asgaros论坛插件内容关键词屏蔽 但是不支持Asgaros论坛标题的屏蔽,因为我没找到Asgaros论坛的标题过滤器钩子,也没去问。...在代码有注释说明,新增过滤器钩子,比如你是用的其他论坛插件,就看看他们插件的代码说明。...Asgaros论坛过滤器的文档:https://github.com/Asgaros/asgaros-forum/issues/276 截图预览:

    43910

    漏洞分析:WordPress图片插件Fancybox-For-WordPress漏洞导致批量挂马

    Fancybox For WordPress是一款很棒的WordPress图片插件,它可以让你的WordPress图片弹出一个漂亮的浏览界面,展示丰富的弹出层效果。...上周安全研究人员发现部分Wordpress博客遭遇了批量挂马,而这些博客的共同点就是都安装了这款Fancybox插件。研究人员经过分析,找到了这款插件中的漏洞。...漏洞分析 这个漏洞存在于低于3.0.2版本的插件,而漏洞利用的是一个针对wp插件的一个比较常见的攻击途径:未经保护的admin_init钩子。...由于admin_init钩子可以被任何访问/wp-admin/admin-post.php或/wp-admin/admin-ajax.php页面的人调用,攻击者就可以将插件中的“mfbfw”选项更改成任何内容...而引起我们注意的是mfbfw_init()函数,这个函数会显示jQuery脚本,使用了我们之前在mfbfw_admin_options()函数中设定的参数。

    1.5K100

    WordPress 过滤钩子(Filter)基础详解

    什么是 WordPress 过滤钩子(Filter) 在 WordPress 官方开发文档里面,过滤钩子(filter)是这样定义的: 过滤钩子是一类函数,WordPress 执行传递和处理数据的过程中...WordPress 默认已经做了一些过滤钩子,你的插件可以添加它自己的过滤钩子。 本质上,过滤器就是在 WordPress 输出之前将你的浏览数据做出反应。...在 WordPress 中使用过滤钩子 正如我说的那样,使用 WordPress 过滤钩子是非常容易的,我们只需要了解一些过滤钩子的最基本的功能。...我们来看看,我们创建一个插件用来移除文章标题的元音(vowels),你不能说“从我的文章标题里面移除元音”你应当说“挂载这个函数(用来移除元音的)到我文章标题的过滤钩子” 这就完了?...这里有一个特别的函数叫 apply_filters(),它在核心代码中被用来创建了几百个过滤钩子了。当然,它也可以用在核心代码之外,这就意味着我们可以在插件和主题里面也能创建过滤钩子。

    1.1K100

    WordPress插件开发,从入门到精通。

    WordPress 钩子可以让我们在特定的时机介入 WordPress 的代码执行流程,不需要编辑任何核心文件就可以改变 WordPress 的行为。...除了在 WordPress插件中使用,钩子也被广泛应用于 WordPress 核心的许多功能中,一些钩子只是在 WordPress 埋下了一些占位符,以便我们开发的时候使用,这就是 WordPress...register_activation_hook 我们激活插件时会运行,我们可以使用这个钩子挂载一个函数来设置我们的插件,例如在数据表中添加一些默认设置。...register_uninstall_hook 在我们卸载插件时运行,我们可以挂载一个清理插件所有数据的函数来清理数据库中不再需要的插件数据。...可以使用do_action、apply_filter运行指定钩子上的所有钩子函数; 制作插件 1.定义插件 在Plugins目录下,创建一个目录,目录里面放一个同名的PHP文件,通过注释添加如下描述:

    1.1K40

    WordPress 并不是插件越多速度越慢而是劣质插件越多速度越慢

    从 WordPress 插件运行原理来看,无论是代码还是插件对 WordPress 速度的影响几乎是没有的,唯一有可能产生影响的其实也就是代码或者插件的代码质量了,我们都知道 WordPress 核心程序提供了很多的内置函数和钩子...,它们本身就是 WordPress 的一部分,对于插件开发者而言,要尽量使用这些内置函数与钩子来进行开发,即可节省代码编写时间又能提高程序执行效率和安全性。...如果插件完全符合 WordPress 官方插件手册中的编码要求,那么执行效率是不俗的。 另外程序功能如果相对简单的话,采用面向过程编程的插件执行效率较高。...这也是明月判断插件是否劣质的一个很重要的标准,更是我1G1H的最便宜云服务器一次拖着5个站点可以用这么多年的原因之一,并且影响 WordPress 运行速度的从来不是 WordPress 和PHP,很多时候都是数据库这个瓶颈...,毕竟没有几个站点舍得花钱另购独立的云服务器,都是服务器自带的数据库拿来就用了,稍微不注意就会拥堵也自然是正常的了。

    62210
    领券