Creating custom shortcode

时间:2014-09-13 作者:Connor

我正在尝试创建一些自定义的快捷码-我希望能够在我的网站上显示我想显示的人的姓名和号码,但作为一个快捷码,所以它不必反复输入。

例如,让[乔]与“乔·布洛格斯-01925 265646”相关

我目前正在使用Ultimate Tables插件,并希望在其中加入短代码,然后让它提供更长的信息。

我已经玩了几个小时了,但仍在努力——我尝试将其直接应用到函数中。php并尝试使用“Shortcodes Pro”插件,但我不知道如何使用它(抱歉,我不是一个非常高级的Wordpress用户!)。

这是我在函数中输入的代码。主题的php部分:

// Add Shortcode
function joe() {
}
add_shortcode( \'Joe Bloggs - 01925 265646\', \'joe\' );
在很大程度上,我的目标是避免手动输入电话号码,因为在我们的旧网站上,这会导致电话号码有时输入不正确,因为它们被输入了几十次。

非常感谢您的帮助。

2 个回复
SO网友:Tomás Cot

您传递的参数错误,请尝试以下操作:

function get_telephone($attrs) {
$attr = shortcode_atts( array(
      \'name\' => \'John Doe\'
  ), $attrs );
return attr[\'name\'];
}
add_shortcode( \'telephone\', \'get_telephone\' );
在帖子中,您可以这样称呼短代码:[telephone name="Jose"]

无论如何,在get_telephone 函数您应该添加一些逻辑来从某处获取电话号码,它可以是一个数组,也可以创建一个自定义的post类型来存储电话号码。

SO网友:John Denney

康纳,我在试图将产品价格显示为短代码时遇到了类似的问题。这就是我所做的
1。在wordpress数据库中创建了一个自定义表(称为wp products)
2。此表包含以下字段:id、make、model、price
3。创建了检索价格的短代码。短代码如下所示[product_price id=2] 哪里id=2 是表中项目2的价格值
4。为此编写了shortcode函数,并将其放入函数中。我的主题目录中的php
5。在我想显示代码的页面位置添加了短代码
这是代码,希望对您有所帮助

function product_price_func( $atts ) {
    global $wpdb;

    $table_name = $wpdb->prefix . \'products\';

    $atts = shortcode_atts(
    array(
      \'id\' => \'no id found\',
    ), $atts, \'product_price\' );

    $product_id = $atts[\'id\'];

    $product_price = $wpdb->get_results("SELECT price FROM " . $table_name ." WHERE id={$product_id}", ARRAY_A);

    foreach ( $product_price as $the_price ) 
      { 
        $output = $the_price[\'price\'];
      }

    return "Product Price: $" . $output;
}
add_shortcode( \'product_price\', \'product_price_func\' );

结束

相关推荐

Echo HTML in custom shortcode

我写了一个我正在努力完善的短代码。它基本上只是得到一个书签列表并打印出来。但我需要根据定义的类型在其周围添加HTML。extract(shortcode_atts(array(\'cat\' => \'\', \'type\' => \'\'), $atts)); $bookmarks = get_bookmarks( array( \'orderby\' => \'name\', \'order\' => \'ASC\',