Pageline DMS选项面板中的站点标题和标语

时间:2013-10-15 作者:Luke

我正在使用Pagelines DMS主题,我想扩展前端管理面板的功能。我为其构建此页面的用户希望能够直接从此页面编辑一些设置,包括站点标题和标语。

概念:enter image description here

add_filter(\'pl_sorted_settings_array\', \'add_global_panel2\');
function add_global_panel2($settings){
$settings[\'privacy\'] = array(
    \'name\' => \'Blog Name\',
    \'icon\' => \'icon-eye-open\',
    \'opts\' => array(
        // Regular Options Engine
        array(
        \'id\' => \'blogname\',
    \'type\' => \'text\',
           \'label\' => __(\'blog Name\', \'pagelines\')
    ),
        // Regular Options Engine
        array(
        \'id\' => \'blogdescription\',
    \'type\' => \'text\',
           \'label\' => __(\'blog description![enter image description here][1], \'pagelines\')
        ),
    )
);
// Finally we return the new array
return $settings;
}
是否有方法在文本字段中执行此操作(添加自己的网站标题和标语)。例如,单击“发布选项”按钮将其输出到网站前端,并在“WP API设置”>“常规设置”子菜单页中显示更新版本?

1 个回复
SO网友:Luke

好啊

所以我找到了解决问题的办法;

Pagelines将每个键和值对编码为json字符串,在wp\\u options表中有自己的名为pl\\u settings的选项。

它们还允许您使用以下命令访问每个键->值对:$value=pl\\u设置(\'option\\u key\')

因此,我采取了使用以下代码来满足我的需要的方法:

add_filter(\'pl_sorted_settings_array\', \'add_global_panel2\');
function add_global_panel2($settings){
    $settings[\'privacy\'] = array(
        \'name\' => \'About Your Loved One\',
        \'icon\' => \'icon-heart\',
        \'opts\' => array(
            // Regular Options Engine
        array(
                \'key\' => \'blogname\',
                \'type\' => \'text\',
                \'label\' => \'the name of your loved one\',
                \'help\' => \'test\'
        ),
            // Regular Options Engine
            array(
                \'key\'   => \'blogdescription\',
                \'type\' => \'text\',
                \'label\' => \'a message to your loved one\',
                \'help\' => \'test\'
            ),
        )
    );
    update_option(\'blogname\', $value = pl_setting(\'blogname\'));
    update_option(\'blogdescription\', $value = pl_setting(\'blogdescription\'));
    // Finally we return the new array
    return $settings;
}
以这种方式工作的唯一缺点是,我需要刷新浏览器两次,一次更新其中一个值,使其在相应的选项上实际生效。

如果有人能做得更好,请告诉我。

结束