Я пытаюсь понять эту функцию, как предисловие к ее разметке, чтобы сделать подобные функции для моих собственных коротких кодов. Я понимаю, как определить короткие коды и их функции. Я также в основном «получаю» то, что здесь делает оригинальный автор: собирать параметры из короткого кода и собирать их в тег HTML и возвращать этот тег. Кажется, порядок параметров неважен, но их имена.Определение имен параметров в php-функции для короткого кода Wordpress?
Однако, когда я работаю с этим кодом, он, похоже, не понимает, какой параметр есть. Например, оригинальные документы говорят, чтобы использовать шорткод так: [button link="http://google.com" color="black" size="small"]Button Text[/button]
Но когда я использую этот шорткод, я получаю:
<a href="Button Text" title="Array" class="button button-small button " target="_self">
<span>Array</span>
</a>
Вот мой PHP:
if(! function_exists('make_button')) {
function make_button($text, $url, $color = 'default', $target = '_self', $size = 'small', $classes = null, $title = null) {
if($target == 'lightbox') {
$lightbox = ' rel="lightbox"';
$target = null;
} else {
$lightbox = null;
$target = ' target="'.$target.'"';
}
if(! $title)
$title = $text;
$output = '<a href="'.$url.'" title="'.$title.'" class="button button-'.$size.' '.$color.' '.$classes.'"'.$target.$lightbox.'>';
$output .= '<span>'.$text.'</span>';
$output .= '</a>';
return $output;
}
}
add_shortcode('button', 'make_button');
Я попробовал, что перед публикацией здесь, я все еще получаю как кнопка размещена выше. – Steve
Все аргументы хранятся в переменной '$ atts', вы можете var_dump эту переменную и посмотреть, как атрибуты хранятся в коротком кодексе? –
Да, я не понимаю, как этот автор вообще работал. Я разорвал его и использовал этот метод для создания тега, как в '$ atts ['link']' – Steve