Titan框架入门指南:Titan如何工作

这是该系列的第三篇文章,到目前为止,我已经讨论了Titan框架的重要性和功能以及基本设置。 在第一篇文章中,我讨论了Titan框架的三步设置,如下所示:

  1. 设置您的项目。
  2. 创建选项。
  3. 获取价值。

我在上一篇文章中解释了第一步,我们了解到Titan框架是一个即插即用框架,即它作为插件提供,尽管也可以通过将其嵌入到Web开发项目中来进行集成。 因此,让我们从我停下的地方继续,继续接下来的两个步骤。

在这里,我将解释Titan框架在您的Web开发项目中的工作方式和作用。 然后,我将跳到创建实例选项的概念,从中我将在前端获得保存的 。 所以,让我们开始吧!

1.建立您的专案

首先,让我们找出实现今天的教程所需的条件。 我们将创建一个简单的WordPress主题,我们将使用Titan框架探索它可以创建的不同选项集。 你需要:

  1. 本地WordPress设置,例如,我使用DesktopServer (相信我,太神奇了!)。
  2. 一个基本的WordPress主题-我将为此目的使用Neat 。 我为本教程创建了一个名为Neat:TitanFramework的新分支。

我的设定

当我要使用Neat WordPress主题时 ,首先解释其结构很重要。 在您的文本编辑器中打开主题文件夹,在该文件夹中,我在资产目录中创建了一个名为admin的新文件夹。 其目的是处理所有与管理员选项相关的代码。 它是另一个目录titanframework  还有一个PHP文件admin-init.php

我的设定

admin-init.php文件

此PHP文件将处理所有与管理员相关的活动。 如果滚动浏览其代码,您会发现我使用了get_template_directory ()函数来包含titanframework目录中的四个文件。 以下代码是不言自明的,但是我将在短时间内解释每个文件的用途。

这是admin-init.php的代码:

<?php

/**
 * Admin related initializations
 */

/**
 * Titan Framework Required to be installed
 *
 * It adds Titan Framework as a plugin
 *
 * https://www.titanframework.net/get-started/
 */

if ( file_exists( get_template_directory() .'/assets/admin/titanframework/titan-framework-checker.php') ) {
    
    require_once( get_template_directory() .'/assets/admin/titanframework/titan-framework-checker.php' );
    
}

/**
 * Create an options via Titan Framework
 *
 * http://www.titanframework.net/get-started/
 */

// Admin panel options.
if ( file_exists( get_template_directory() .'/assets/admin/titanframework/adminpanel-options-init.php') ) {
    
    require_once( get_template_directory() .'/assets/admin/titanframework/adminpanel-options-init.php' );
    
}

// Metabox options.
if ( file_exists( get_template_directory() .'/assets/admin/titanframework/metabox-options-init.php') ) {
    
    require_once( get_template_directory() .'/assets/admin/titanframework/metabox-options-init.php' );
    
}

// Customizer options.
if ( file_exists( get_template_directory() .'/assets/admin/titanframework/customizer-options-init.php') ) {
    
    require_once( get_template_directory() .'/assets/admin/titanframework/customizer-options-init.php' );
    
}

目录称为titanframework

目录称为titanframework

前面已经讨论过,Titan Framework可帮助您创建管理面板和选项卡,元框主题定制程序部分和面板。 因此,我为每个文件创建了单独的文件。 显然,可以使用单独的代码行创建它们。 我将在我即将发表的文章中讨论每一个这些文件,但是现在您只需要了解这些文件的用途。

  • titan-framework-checker.php :负责在您的主题中包含Titan框架。
  • adminpanel-options-init.php :包含用于创建管理面板和带有一组选项的选项卡的代码。
  • metabox-options-init.php :包含用于为帖子类型创建带有其中一组metabox-options-init.php的代码。
  • customizer-options-init.php :包含用于创建主题自定义面板和带有一组选项的部分的代码。

包括admin-init.php文件

到目前为止,您肯定想知道为什么我创建了这么多新文件。 为什么我不只是将所有代码添加到functions.php文件中? 好吧,我认为这不是一种好的架构设计方法。 要构建可维护的产品,您需要定义一个好的设计模式。

用这么多行代码弄乱您的functions.php文件的意义是什么? 我自己经历过:在任何开发项目结束时,代码都变得如此庞大,以至于很难在一个文件中处理所有代码,尤其是在调试和修复错误时。 最好创建单独的文件,因此请将这些文件视为模块。

让我们在functions.php文件中包含admin-init.php

<?php

/**
 * Include admin-init.php
 *
 * File responsible for all admin relevant activity E.g. Settings & Metaboxes etc.
 */

if ( file_exists( get_template_directory() .'/assets/admin/admin-init.php') ) {
    
    require_once( get_template_directory() .'/assets/admin/admin-init.php' );
    
}

在这里,我通过相同的get_template_directory ()require_once()函数添加了admin-init.php文件。

至此,我们已经了解了主题的基本设置,我将用它来解释Titan框架是如何工作的。 我们已经完成了设置并将其嵌入WordPress主题中的Titan框架。 让我们创建一个带有选项的管理面板,并获取前端的值。

使用Titan框架

要使用Titan Framework,您需要遵循特定的工作流程:

  1. 每个文件创建一个Titan框架实例。
  2. 创建管理面板/选项卡,元框或主题自定义器部分/面板。
  3. 在其中创建选项。
  4. 获取价值。

首先让我编写用于此目的的代码段。 这是adminpanels-options-init.php文件的代码,该文件位于assets/admin/titanframwork/目录中。

<?php

/**
 * Creating admin panel options via Titan Framework.
 *
 * Getting started: http://www.titanframework.net/get-started/
 * Admin Panel: http://www.titanframework.net/admin-panels/
 * Admin Tabs: http://www.titanframework.net/admin-tabs/
 * Options: http://www.titanframework.net/docs/
 * Getting Option Values: http://www.titanframework.net/getting-option-values/
 */

/**
 * `tf_create_options` is the hook used to create options.
 */

add_action( 'tf_create_options', 'aa_options_creating_function' );

function aa_options_creating_function() {

    // Initialize Titan with your theme name.
    $titan = TitanFramework::getInstance( 'neat' );

    /**
     * First Admin panel.
     */

    /**
     * Create admin panel options page called `$aa_panel`.
     *
     * This is a first admin panel and is called by its name i.e. `$aa_panel`.
     */
    $aa_panel = $titan->createAdminPanel( array(
        'name' => 'Neat Options' // Name the options menu
    ) );

    /**
     * Create the options.
     *
     * Now we will create options for our panel that we just created called `$aa_panel`.
     */
    $aa_panel->createOption( array(
        'id' => 'aa_txt', // The ID which will be used to get the value of this option.
        'type' => 'text', // Type of option we are creating.
        'name' => 'My Text Option', // Name of the option which will be displayed in the admin panel.
        'desc' => 'This is our option' // Description of the option which will be displayed in the admin panel.
    ) );

    /**
     * Save button for options.
     *
     * When creating admin panel options, use this code to add an option "Save" button
     * since there is no other way for user to save the options.Your users can now save
     * (and reset) the options we just created.
     */
    $aa_panel->createOption( array(
        'type' => 'save'
    ) );

}

从一开始,我就从Titan框架文档中添加了一些帮助链接。 现在,我将逐行解释此代码。

17号线

在这里,我们有一个名为tf_create_options的钩子,该钩子用于使用aa_options_creating_function()函数通过Titan框架创建选项。

第19行

我们创建了一个名为aa_options_creating_function()的函数,该函数将负责创建这些选项。

22号线

在第22行,我为Titan Framework创建了一个实例 。 创建实例是该框架不可或缺的一部分,无论何时需要与Titan框架进行交互,都必须在每个文件中创建一个实例。 要使实例唯一,可以在其中添加产品名称。 例如,我添加了“整洁”作为参数。

获取Titan框架的实例

创建Titan框架的实例非常简单。 我们得到了一个独特的实例来避免任何混乱,以防万一另一个插件正在使用Titan Framework创建选项。 作者指出:

getInstance函数创建/获取特定于“ mytheme”的Titan框架的唯一实例。 这是我们将用于确保我们的设置不会与使用Titan Framework的其他插件冲突的namespace 。 确保将其更改为您的主题或插件名称。

这是使用Titan实例的代码示例。

$titan = TitanFramework::getInstance( 'my-theme' );

在我的情况下   主题我将使用neat的参数   代替   my-theme ,使我的代码唯一,即

$titan = TitanFramework::getInstance( 'neat' );
第33–35行

这些行将创建一个管理面板,我将其命名为“ $ aa_panel”。 Titan Framework有助于在项目中创建诸如管理面板,管理选项卡,元框和主题定制器面板之类的部分。 但是目前,我仅以创建管理面板为例来说明问题。

这些代码createAdminPanel() Titan框架中调用我们的createAdminPanel()函数,该函数形成一个数组。 此功能将在WordPress仪表板中添加一个名为Neat Options的新部分。

WordPress资讯主页

上图是WordPress仪表板的屏幕截图,您可以在管理面板中找到一个新部分。

总结一下到目前为止的工作:我已经建立了Web开发项目,然后向其中添加了一个实例,然后创建了一个管理面板。

整洁的选择

现在,如果我单击“ 整洁的选项”   按钮,则此部分为空。 因此,现在我将在此新创建的管理面板中创建选项。

在Titan框架中创建选项

首选可自定义的WordPress主题,因为最终用户通常希望在不编写任何代码的情况下配置主题。 通过在主题开发过程中添加灵活的选项,可以实现这一点。

我们可以在单独的管理面板中,主题框定制工具中的元框或选项面板中添加此类选项。 选项用于存储以后在前端检索的值的目的。

第42–47行

现在看一下这些代码行。 这些将用于在管理面板或标签中创建选项。 第42 createOption() $aa_panel定义了createOption()函数。 该函数再次是一个带有某些参数的数组,该数组带有id,类型,名称,描述等某些参数。根据这些行,我创建了一个选项,该选项是一个文本字段,名为My Text Option

选件

这是屏幕快照,显示了在“ 整洁的选项”面板中创建的选项

56-58行

代码的最后两行在此面板中创建另一个选项。 但其目的是保存设置。 例如,在“ 我的文本选项”字段中,用户用John Doe填充它。 这意味着用户要更改默认设置,只有在用户保存自定义设置时才可以更改。

因此,我再次使用createOption()函数并为参数分配了“ type = save ”的值。

文字选项

这是我到目前为止所做的开发的最终屏幕截图。

至此,您已经设置了所有Titan框架,创建了一些选项来获取动态结果,现在剩下要做的就是从最初设置的选项中获取值。 在三步式标语中,我已经讨论了前两篇文章中的前两个。 因此,现在让我们进入Titan框架工作的最后一个,也是最重要的部分。

获得价值

创建选项是在后端完成的,现在我们需要根据最终用户设置的那些选项来检索值,以便在前端使用它们。 我们可以通过一个简单的函数getOption()来检索针对选项设置的值。

以下是用于检索保存的值的代码的基本结构:

<?php

function myFunction() {

    $titan = TitanFramework::getInstance( 'my-theme' );
    $myTextOption = $titan->getOption( 'my_text_option' );

    // Do stuff here.

}

因此,我创建了一个名为myFunction的函数,该函数首先注册了Titan的一个实例。 注册实例是重要的一步,因为它获取Titan框架为您的设置创建的对象注册在变量$titan 。 您可以看到我们的实例特定于我们的主题,即my-theme ,它应该是我们的主题名称或任何唯一的名称。

在前端检索值

让我们使用针对前端选项设置的值。 我创建了一个空白的自定义页面模板。 如果引用Neat主题文件夹,则在根目录中会找到一个名为aa_titanframework.php的文件。 您也可以对主题进行相同的操作。

在前端检索值

在文本编辑器中创建一个新文件 ,然后复制并粘贴以下代码行。

<?php

/* Template Name: Titan Framework */

get_header();

/**
 * First Admin panel.
 */

// We will initialize $titan only once for every file where we use it.
$titan = TitanFramework::getInstance( 'neat' );

$aa_txt_val = $titan->getOption( 'aa_txt' );

?>

<div class="aa_wrap">
    <h1><?php the_title( ); ?></h1>
    <div class="aa_content">

        <?php

        /**
         * First Admin panel options.
         */

        // Print the value saved in `aa_txt` option.
        echo $aa_txt_val;

        // Let's use this value in HTML.

        ?>

        <h3><?php echo $aa_txt_val; ?></h3>
    </div>
</div>

<?php

//get_sidebar();
get_footer();

?>

在解释上述代码之前,请确实参考上一篇文章的代码,在该文章中我创建了管理面板及其选项,因为这里我也使用相同的名称,ID等。

该代码的前四行用于WordPress注册此自定义页面模板,这是非常标准的—那里没有火箭科学。

获取期权价值

我将在adminpanel-options-init.php获得在adminpanel-options-init.php文件中创建adminpanel-options-init.php (有关其代码,请参见上一篇文章)。 需要完成两个步骤:

  1. 获取唯一的Titan Framework实例并将其保存到变量。
  2. 使用getOption()函数通过ID获取值。
12号线

第一步之后,我对变量$titan初始化了一个唯一实例,对于使用它的每个文件,它只初始化一次。 我的实例是唯一的,因为我将其命名为neat ,即主题的程序包名称-您可以将其命名为任何唯一的名称。 因此,如果某个插件正在使用Titan且您的主题也在使用它,则必须有一种方法来区分该插件设置的选项和您的主题。

$titan = TitanFramework::getInstance( 'neat' );
14号线

第二步是利用ID并获取该选项的保存值。 该行的代码是:

$aa_txt_val = $titan->getOption( 'aa_txt' );

我检索了aa_txt的值,该值保存在变量$aa_txt_valaa_txt参数指的是我在第一个管理面板中创建的选项的ID(请参阅上一篇文章)。

因此,到目前为止,我已经设置了基本结构来获取保存的值。 现在,让我们在前端使用保存的值。

第22–35行

这些代码行用于在前端显示保存的值。 看一下第29行,我在这里使用echo命令获取输出。 在第35行进行了相同的操作,但是这次我以H3(标题3)格式显示$aa_txt_val的输出。 因此,现在最终用户为此选项设置的任何值都将显示在前端。

结果

为了显示上述代码的结果,请按照下列步骤操作:

  • 转到您的WordPress 仪表板
  • 通过页面>添加新页面创建新页面
  • 将页面命名为Titan Framework (可选,您会知道的)
创建一个新页面

上面的屏幕截图显示了我创建的页面。 同时,您还可以找到新的管理面板菜单,即Neat Options ,我们在其中创建了选项。

接下来,在发布页面之前,为其选择页面模板,即Titan Framework

选择页面模板

aa_titanframework.php文件添加了一个称为“ Titan Framework”的新页面模板,模板显示在下拉列表中。 选择该模板。

  • 发布页面。
  • 接下来转到“ 整洁的选项”菜单,并为名为“ 我的文本选项”的选项添加一些值
选择文字选项

该图显示我已经用AA-Text-Option填充了该字段,然后单击Save Changes

  • 返回“ Titan框架”页面并查看该页面。
查看页面

上图显示了最终结果。 这是   Titan框架页面。 以两种不同形式显示aa_txt已保存选项值(即AA-Text-Option)。 第一个是段落格式,第二个是h3格式。

结论

到目前为止,您必须对Titan框架及其工作有所了解。 这是基本的设置,每次您使用Titan Framework开发某些东西时都应遵循。

现在您知道如何设置它,创建一些选项并获取保存的值; 尝试一下,如有任何疑问,请通过评论让我知道,或者在Twitter上与我联系。

在本系列的下一篇文章中,我们将探索可以使用Titan Framework创建的选项集以及如何使用它们。

翻译自: https://code.tutsplus.com/articles/a-beginners-guide-to-titan-framework-how-titan-works--cms-24151

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值