Wordpress短代码名称作为属性

时间:2014-07-07 19:17:28

标签: wordpress shortcode

我想知道是否可以设置短代码,并且短代码的名称也可以作为属性使用。我目前如何设置我是如此

add_shortcode('tooltip', 'tooltip');
function tooltip( $atts $content = null) {
array(
    'type'      => '',
);

因此,当wordpress中的某个人使用您输入的短代码时

[tooltip type="fruit"]Item Name[/tooltip]

虽然我想知道是否可以将短代码的名称用作atts,所以我可以将它缩短一点并让它看起来像这样

[tooltip="fruit"]Item Name[/tooltip]

所以几乎删除了type属性,并使用短代码工具提示的名称作为属性。

2 个答案:

答案 0 :(得分:1)

不,你提出的建议是不可能的。它可能会更短,但在我看来会让人感到困惑,所以我不认为它本身就是你自己构建功能所能做到的事情。

答案 1 :(得分:0)

使用简码标记作为属性时,必须使用$atts数组中的第一项($atts[0])。

工作示例:

<?php

add_shortcode('tooltip', 'tooltip');

function tooltip(Array $atts = array(), $content = null, $tag = null) {

  $args = shortcode_atts(array( 0 => null ), $atts);
  $args['type'] = trim($args[0], '"=');
  unset($args[0]);

  extract($args);

  // Your code starts here ...
  $output = array(
    '$type'    => $type,
    '$content' => $content
  );

  $output = '<pre>' . print_r($output, true) . '</pre>';

  return $output;
}

请替换// Your code starts here ...

之后的所有内容

执行示例:

[tooltip="fruit"]Item Name[/tooltip]

将返回:

<pre>Array
(
    [$type] => fruit
    [$content] => Item Name
)
</pre>