为您的WordPress产品构建欢迎页面:代码第1部分

在本系列的前两篇文章中,我写了什么是欢迎页面,以及它们如何通过连接点来帮助产品改善用户体验,之后写了我打算在构建欢迎页面时使用的WordPress Transients API。

为您的WordPress插件编写一个欢迎页面可能是一个棘手的过程。 整个概念围绕通过设置瞬态并将用户最终删除将用户重定向到特定页面而进行。 让我们开始构建欢迎页面。

WP欢迎页面样板

我将以可在您的WordPress产品中使用的插件的形式为WordPress构建欢迎页面样板。 该插件的最终形式托管在GitHub的WP-Welcome-Page-Boilerplate-For-TutsPlus上

至此,我假设您进行了以下设置:

  • 本地计算机或Web服务器
  • 一个演示WordPress网站仪表板

插件架构

我将创建一个简单的插件,当用户安装并激活该插件时会显示一个欢迎页面。 让我们讨论一下插件架构:

  • WP-Welcome-Page-Boilerplate :包含我们的插件的文件夹。
  • WP-Welcome-Page-Boilerplate / welcome / :欢迎页面相关内容的文件夹。
  • WP-Welcome-Page-Boilerplate / welcome / img :图像文件夹。
  • wp-welcome-page-boilerplate.php :根目录中的主插件文件。 该文件负责定义全局常量,并需要使用初始化程序文件,即welcome-init.php。
  • welcome-init.php :初始化文件,它负责三件事:在插件被激活时添加一个瞬态,在插件被停用时将其删除,最后添加逻辑文件,即welcome-logic.php。
  • welcome-logic.php :负责安全的欢迎页面重定向,创建欢迎页面子菜单并添加欢迎页面视图文件的逻辑文件,即welcome-view.php。
  • welcome-view.php :该视图文件负责显示欢迎页面,并使用PHP和HTML构建。
  • 有用于图像和CSS的可选文件夹,并且根据其用途进行命名。

您可以查看以下屏幕截图以验证体系结构。

WP欢迎页面样板文件结构

插件工作流程

该插件的工作方式如下:

  • 在插件激活时添加瞬态。
  • 删除插件停用时的瞬态。
  • 安全重定向到欢迎页面。

标准插件基础文件

让我们开始讨论基础文件的内容,该文件是wp-welcome-page-boilerplate.php 。 这是完整的代码:

<?php

/**
 * Plugin Name: WP Welcome Page Boilerplate
 * Plugin URI: https://code.tutsplus.com/articles/building-a-welcome-page-for-your-wordpress-product-introduction--cms-26013
 * Description: Welcome page boilerplate for WordPress plugins.
 * Version: 1.0.0
 * Author: mrahmadawais, WPTie
 * Author URI: http://AhmadAwais.com/
 * License: GPL-3.0+
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 * Domain Path: /lang
 * Text Domain: WPW
 */

if ( ! defined( 'WPINC' ) ) {

    die;

}

插件的PHPDoc标头部分告诉WordPress文件是插件。 定义的参数表明如何处理数据。 标题至少可以只包含一个插件名称,但是可以并且通常应该包括几部分。 您可以在WordPress插件开发人员手册中阅读有关标头要求的信息。

下一组代码将执行安全检查。 如果有人尝试直接访问此文件,它将运行ABSPATH检查,如果从外部WordPress进行访问,它将终止脚本。

之后,代码如下所示:

// Plugin version.
if ( ! defined( 'WPW_VERSION' ) ) {

    define( 'WPW_VERSION', '1.0.0' );

}

// Plugin folder name.
if ( ! defined( 'WPW_NAME' ) ) {

    define( 'WPW_NAME', trim( dirname( plugin_basename( __FILE__ ) ), '/' ) );

}

// Plugin directory, including the folder.
if ( ! defined( 'WPW_DIR' ) ) {

    define( 'WPW_DIR', WP_PLUGIN_DIR . '/' . WPW_NAME );

}

// Plugin url, including the folder.
if ( ! defined( 'WPW_URL' ) ) {

    define( 'WPW_URL', WP_PLUGIN_URL . '/' . WPW_NAME );

}

// Plugin root file.
if ( ! defined( 'WPW_PLUGIN_FILE' ) ) {

    define( 'WPW_PLUGIN_FILE', __FILE__ );

}

我定义了一些全局常量,这些常量定义有关插件的版本,根文件夹,URL和插件的主文件的详细信息。

每个都包含一个if( ! defined() )语句,这有助于避免由于重新定义全局常量而导致的任何错误。 我建议使用您的包名称作为前缀定义全局常量。 该插件中的软件包名称为WPW ,即WordPress Welcome。 因此,每个常量的前缀都是WPW_

定义的插件常量为:

  • WPW_VERSION :插件版本
  • WPW_NAME :插件文件夹名称
  • WPW_DIR :插件目录
  • WPW_URL :插件URL
  • WPW_PLUGIN_FILE :插件根文件

定义完所有这些常量后,我们将从欢迎文件的内容开始。

最后,我需要欢迎初始化程序和欢迎逻辑。

if ( file_exists( WPW_DIR . '/welcome/welcome-init.php' ) ) {

    require_once( WPW_DIR . '/welcome/welcome-init.php' );

}

if ( file_exists( WPW_DIR . '/welcome/welcome-logic.php' ) ) {

    require_once( WPW_DIR . '/welcome/welcome-logic.php' );

}

我喜欢使我的代码最少,准确且有据可查。 因此,与其将每个代码块添加到一个文件中,不如制作单个文件,每个文件仅具有一个目的。 这就是为什么我们有一个初始化程序文件,它将初始化与欢迎页面相关的所有内容。

require_once()语句需要welcome-init.php文件,但是在需要文件之前,我总是使用file_exists() PHP函数对其进行检查,以避免万一文件被删除时发生致命错误。

相同的原则也适用于欢迎逻辑,我们将在本系列的下一部分中进行介绍。

您可以在GitHub上查看wp-welcome-page-boilerplate.php文件的最终代码。

欢迎初始化器

为了管理所有与欢迎页面相关的文件,我创建了一个名为welcome的单独文件夹,并添加了welcome-init.php文件。 该文件的整个代码控制欢迎页面的初始化。

让我们研究该文件的完整代码:

<?php

/**
 * Welcome Page Init
 *
 * Welcome page initializer.
 *
 * @since 1.0.0
 */

if ( ! defined( 'WPINC' ) ) {

    die;

}

/**
 * Activates the welcome page.
 *
 * Adds transient to manage the welcome page.
 *
 * @since 1.0.0
 */
function wpw_welcome_activate() {

    // Transient max age is 60 seconds.
    set_transient( '_welcome_redirect_wpw', true, 60 );

}

register_activation_hook( WPW_PLUGIN_FILE, 'wpw_welcome_activate' );

/**
 * Deactivates welcome page
 *
 * Deletes the welcome page transient.
 *
 * @since 1.0.0
 */
function wpw_welcome_deactivate() {

  delete_transient( '_welcome_redirect_wpw' );

}

register_deactivation_hook( WPW_PLUGIN_FILE, 'wpw_welcome_deactivate' );

该代码以有关该文件的内联文档和ABSPATH检查ABSPATH 。 现在,当插件分别被激活和停用时,我需要一种添加和删除瞬态的方法。

幸运的是,WordPress为此目的提供了两个钩子。

因此,现在我们需要利用这些挂钩。 我为欢迎页面创建了一个临时页面。 该set_transient()函数被调用自定义内wpw_welcome_activate()函数。 在上一篇文章中,我们了解到set操作将keyvalue有效时间作为其参数。

因此,密钥_welcome_redirect_wpw设置为true60秒。 这定义了瞬变过期的最大年龄。

接下来是激活钩子,众所周知,该钩子仅在插件被激活时运行。 它将我们的瞬态添加到数据库中。 一旦瞬态出现在数据库中,就意味着我们可以检查它并将用户重定向到我们的欢迎页面。 如何重定向用户? 这就是我们将在下一篇文章中研究的内容。

之后,我编写了在停用插件后运行的代码。 我们需要一种功能,当用户停用插件时,瞬变会被删除。 为此,我调用了delete_transient()函数,该函数使用密钥 _welcome_redirect_wpw作为其参数。 然后是wpw_welcome_deactivate()函数,该函数已添加到插件停用挂钩中。

这部分是可选的,但是我希望我的用户在激活插件时都能看到欢迎页面。 如果不这样做,则绝对可以忽略瞬态的删除。

到目前为止,我已经讨论了代码的创建和删除瞬态所必需的部分。 但是,仍然缺少用于欢迎逻辑的代码,该代码会将用户重定向到欢迎页面。 接下来,我们将解决这个问题。

结论

今天就是这样。 因此,我们已经完成了一半。 我们的欢迎页面的基本文件和初始化程序已准备就绪。 现在,我们需要创建逻辑并查看文件,这是下一篇文章的计划。

最后,您可以在我的个人资料页面上捕获我的所有课程和教程,还可以在我的博客上关注我和/或在Twitter @mrahmadawais上与我联系 ,在那儿我写了有关WordPress的开发工作流的信息。

和往常一样,请不要在下面留下任何问题或评论,我将尽力回答每个问题或评论。

翻译自: https://code.tutsplus.com/articles/building-a-welcome-page-for-your-wordpress-product-code-part-1--cms-26014

看到这个横幅翻页插件,我的第一印象就把它和分页插件给搞混了,呵呵,其实,它与分页插件是完全不同的,这款插件比较炫酷,此插件的效果是,在首页左/右上角掀起一个书页一般的小角,当鼠标移上去的时候,就会掀起这个角,就像翻书页一样,超酷炫的,此插件除了炫酷以外,它还具有以下作用: •你可以在掀起的页角安放AD,增加广告收入(呵呵,有点小坏哦)。 •你也可以把你的RSS订阅放页面。 •其他自己发挥想像吧,把你的靓照也可以放在里面 PageEar插件安装: 1.下载PageEar插件,将压缩包解压后,把文件夹上传到wp-content/plugins/目录下。 2.登录WordPress管理后台,点击“Plugins”找到上传的插件,激活该插件。 3.插件激活后,在“Plugins”-->“Pageear-config”中进行相关设置,页面内容如下图(点击浏览大图): 此插件的功能在上图中基本上都有说明,如果不做任何设置的话,前台就会显示默认的图片,感觉默认图片不漂亮,你可以上传自己喜欢的图片,找到合适的图片,上传到paggeear文件夹,把这个两个图片替换掉pageear_b.jpg、pageear_s.jpg就可以了,当然,如果感到登录空间麻烦,那就在后台的“Pageear-config”里上传图片就可以了,下图是笔者测试插件时,前台的翻页效果: 这么漂亮的插件,在这里要感谢我们论坛(WordPress啦论坛)的版主“qq101149488” ,给我们推荐的此款插件,而且他的博客中,还对此插件做了详细的说明(参见:Wordpress翻页效果插件Pageear ),希望广大的WordPress爱好者,也能积极的参与进来,把你所使用过的插件或者感觉比较优秀的插件,在我们的论坛推荐出来,与大家共享你的使用心得。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值