如何添加我自己的自定义快捷代码?

时间:2010-09-20 作者:sorin

我希望在几个页面/帖子中重用html的一些小部分,但我不知道如何在WordPress上获得它。

如果我能在编辑器中有一个助手来包含它们就好了,但这只是一个很好的特性,目前我需要一个解决方案。

3 个回复
最合适的回答,由SO网友:sorin 整理而成

到目前为止,我发现Shortcoder 允许我添加20个短代码的插件。目前这已经足够了,我希望开发人员能尽快解决这个问题。

由于某些原因,当我在Wordpress网站上按其名称搜索时,该插件不会出现。

此外,我愿意接受新的建议/备选方案。

SO网友:Rarst

短代码工作方式Shortcode API. 本质上,shortcode只是一种人性化的数据输出形式,它被处理并传递给相关的PHP函数。

因此,添加您自己的短代码包括:

编写PHP函数,该函数将处理由API从短代码传递的数据WP Utility Short Codes 在回答一些问题时,建议使用插件作为在编辑器中插入代码段等的好方法。

SO网友:EAMann

我不建议为此使用其他人的插件。只需将自定义功能构建到您的主题中或添加您自己的插件(使用其他人的系统会增加UI和您真正不需要的其他信息方面的开销)。

比方说,你想要一个自定义的快捷码来将你的gravatar图像添加到帖子内容的某个地方。不知道你为什么需要这个,但是嘿。。。这可能很有趣!

假设您要放置[user_gravatar user="[email protected]" size="80"] 并将其动态替换为与[email protected] 并将大小调整为您指定的任何值(介于1px和512px之间)。这是您将使用的函数:

function user_gravatar_sc($atts) {
    extract(shortcode_atts(array(
        \'user\' => \'\',
        \'size\' => \'80\'
    ), $atts));

    if($user != \'\') {
        $img = \'http://www.gravatar.com/avatar/\' . md5($user) . \'?size=\' . $size;
    } else {
        $img = \'http://www.gravatar.com/avatar/00000000000000000000000000000000\' . \'?size=\' . $size;
    }

    return \'<img src="\' . $img . \'" />\';
}

add_shortcode(\'user_gravatar\', \'user_gravatar_sc\');
此函数将获取您输入的任何电子邮件地址的MD5哈希,并使用该哈希请求用户的gravatar图像。但是,如果您没有指定电子邮件地址,它仍然会返回一些内容—默认的蓝色G gravatar占位符。如果不指定大小,则默认为80px。

您可以将此代码放入主题的functions.php 文件或将其嵌入站点上运行的自定义插件的主体中。您可以看到,它不是很多代码,这就是为什么我说使用具有复杂UI的第三方插件来添加短代码会增加太多不必要的开销。

结束

相关推荐