Titan框架入门指南:使用Titan创建Metabox

Titan Framework确实减轻了在Web开发项目中创建metabox的繁琐任务。 在使用Titan框架之前,我必须编写一些很长的代码才能在帖子和/或页面编辑屏幕中显示元框。 现在,它使过程变得非常简单,这就是我今天要讨论的内容。 因此,让我们学习如何使用Titan Framework创建一个metabox。

在Titan中创建一个Metabox

在我深入探讨此主题之前,让我们假设您具有:

  • 安装了WordPress的有效演示网站
  • 在此演示网站中安装并激活或嵌入了Titan插件
  • 项目中包含的titan-framework-checker.php文件

我将再次使用名为Neat的主题作为我将在此处使用的代码。 在之前的文章中,我解释了主题模板文件的组织方式是, 资产文件夹中有一个单独的文件夹,用于管理相关的内容。 此文件还包含用于metabox-options-init.php代码的文件,即metabox-options-init.php ,位于以下位置: assets/admin/ titanframework /metabox-options-init.php

因此,以下代码将在我们提到的所有帖子类型的编辑屏幕上添加一个metabox,它们是:

  • 发布
  • my_custom_post_type ,它是任何自定义帖子类型的名称
<?php

/**
 * Creating metabox options via Titan Framework.
 *
 * Getting started: https://www.titanframework.net/get-started/
 * Metabox: http://www.titanframework.net/meta-box/
 * Options: http://www.titanframework.net/docs/
 * Getting Option Values: http://www.titanframework.net/getting-option-values/
 */

add_action( 'tf_create_options', 'aa_metabox_options' );

function aa_metabox_options() {

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

    /**
     * First metabox.
     */

    $aa_metbox = $titan->createMetaBox( array(
        'name'      => 'Metabox Options', // Name the options menu.
        'post_type' => array( 'page', 'post', 'my_custom_post_type' ) // Can be a string or array.
    ) );

}

一开始有一些注释行,它们为您提供了一些与metabox开发相关的帮助链接。 它的下面是一个add_action()函数,该函数tf_create_options钩子,该钩子注册aa_metabox_options函数,以在metabox内添加选项。

接下来(第14行),我定义了一个函数来封装我们的元aa_metabox_options代码,即aa_metabox_options 。 它包含创建我们的元框所需的全部功能。

该过程从获取Titan框架的唯一实例并将其注册到$titan变量(第17行)开始。 调用getInstance()函数是Titan不可或缺的一部分,在使用Titan Framework的每个新例程或文件中都需要调用该函数。 该函数带有一个唯一的参数,最好是您的主题名称,以在您的项目中初始化Titan。 这就是为什么我使用“ 整洁”作为我的唯一名称的原因。 我在上一篇文章中也对此进行了详细解释。

此代码的第23行是我创建元框的地方。 使用Titan Framework,您可以使用createMetaBox()函数在主题/插件中添加元框。 因此,根据这一行代码,我在Titan框架中创建了$aa_metbox

注意另一件事: createMetaBox()函数获取一个参数数组,该参数数组可以使用诸如namedescpost_type等参数。因此,利用这些参数,我将此元post_type命名为“ Metabox Options ”(第24行)。 因此,它将以该名称显示在我的页面和帖子编辑屏幕中。

此代码的最后一行(第25行)将此新创建的元框附加到我提到的所有帖子类型。 post_type还是一个参数,用于指定此元post_type将以哪种帖子类型显示。 就我的代码而言,我将其显示在所有页面和帖子以及my_custom_post_type 。 另请注意,如果您需要在多个帖子类型上使用metabox,则此参数占用一个数组。 但是当您只需要将metabox用于一种帖子类型时,例如当'post_type'=>'page'时,它也可以是一个字符串。

现在转到WordPress仪表板,然后单击 帖子”中的“ 添加新菜单” 。 向下滚动,您将找到一个名为Metabox Options的元框。 这是它的屏幕截图:

使用Titan创建Metabox

对您网站的任何页面或自定义帖子类型执行相同的操作,您还将在此处找到相同的元框。

此metabox目前为空。 因此,让我们在其中添加选项。

在元框内添加选项

只需将这些行复制并粘贴在上面编写的代码的正下方。

<?php

/**
 * Create the options for metabox.
 *
 * Now we will create options for our metabox that we just created called `$aa_metbox`.
 */

$aa_metbox->createOption( array(
    'id'   => 'aa_mb_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.
) );

在Titan中创建选项对您来说并不是什么新鲜事物。 我再次使用createOption()函数添加选项。 但是您应该注意的是第9行,该行还指定在何处创建此选项,即在$aa_metbox 。 因此,我在名为“ My Text Option ”的元aa_mb_txt创建了一个text类型字段,其ID为aa_mb_txt

使用Titan创建Metabox

上面的屏幕截图是我到目前为止的开发结果。 但是这次是一页。 您可以清楚地找到其中具有“ 我的文本选项”字段的“ Metabox选项”框。

那么,还剩下什么呢? 检索值后,在前端打印输出。 现在就开始吧!

获取保存的值

现在,我将在上述屏幕快照中检索页面前端的已保存值。 干得好:

<?php

/* Template Name: Titan Framework */

get_header();

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

$aa_mb_txt_val = $titan->getOption( 'aa_mb_txt', get_the_ID() );

/**
 * First metabox option.
 */

// Let's use this value in HTML.
?>

<p>The value of metabox option txt for this page is: <?php echo $aa_mb_txt_val; ?></p>

这里的getOption()函数(第10行)带有两个参数。 一个是选项的唯一ID,即aa_mb_txt ,第二个是get_the_ID_()函数。 我使用了get_the_ID()因为为我们定义的所有帖子类型创建了元get_the_ID() 。 如果需要获取特定页面/帖子的met​​abox选项的值,则将给getOptions()函数该特定帖子/页面的ID。 结果保存在$aa_mb_txt_val

接下来创建一个段落(第19行),在其中使用了echo命令通过aa_mb_txt_val打印输出。

使用Titan创建Metabox

假设我在metabox中输入了AA-Text-Option并发布了页面。

使用Titan创建Metabox

瞧,一切都像魅力。

结论

现在您知道如何使用Titan Framework创建元框。 您确实意识到它是如此简单。 在本系列的后续文章中,我将撰写有关如何使用meta框在Titan框架中创建特定选项类型的文章。 我将假设您已经知道如何创建元框本身。 因此,对您而言,尝试这一点至关重要。

在下一篇文章中,我将创建带有选项的主题定制器部分和面板,这有多酷? 在此之前,如果您有任何问题,请通过评论让我知道,或通过Twitter与我联系。

翻译自: https://code.tutsplus.com/articles/a-beginners-guide-to-titan-framework-creating-a-metabox-with-titan--cms-24391

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值