>  기사  >  백엔드 개발  >  WordPress development_php 기술에 단축 코드 및 관련 기능 사용 기술 구현

WordPress development_php 기술에 단축 코드 및 관련 기능 사용 기술 구현

WBOY
WBOY원래의
2016-05-16 20:00:531206검색

사실 짧은 코드를 구현하는 것은 매우 간단합니다. 짧은 코드를 구현하려면 워드프레스의 함수와 우리만의 작은 함수만 사용하면 쉽고 즐겁게 만들 수 있습니다.

단축코드 구현원리
WP의 일부 작업에 후크 및 필터 기능을 추가하는 것처럼
단축 코드는 기사 출력 콘텐츠에 대한 캡슐화된 필터일 뿐입니다.
일부 테마 기능이 말하는 것처럼 충격적이고 심오하지 않습니다.
간단한 예는 다음과 같습니다.

function myName() {//短代码要处理的函数
return "My name's XiangZi !";
}
//挂载短代码
//xz为短代码名称 
//即你在编辑文章时输入[xz]就会执行 myName 函数
add_shortcode('xz', 'myName');

그런 다음 기사에 [xz]를 입력하면

My name's XiangZi !

매개변수 전달을 위한 단축 코드
더 많은 고급 사용법에 대해서는 이후 기사에서 설명하겠습니다.
오늘은 단축 코드의 매개변수 전달 메커니즘에 대해서만 이야기하겠습니다
좀 더 발전된 예시

function myName($array,$content) {
var_dump($array);
var_dump($content);
}
 
add_shortcode('xz', 'myName');

기사를 편집할 때 다음을 입력합니다.

[xz a="1" b="2" c="3"]这里是三个参数哦[/xz]

함수에서 얻을 수 있는 내용은 다음과 같습니다.

//$array 是一个数组,
//大体结构如下
$array = array('a'=>'1','b'=>'2','c'=>'3');
//$content 是一个字符串
$content = '这里是三个参数哦';

shortcode_atts
쇼트코드 플러그인 작업이 아니었다면 이 기능을 사용하지 않았을 겁니다.
shortcode_atts 함수는 주로 단축코드에서 가로채는 변수의 초기값을 설정하는 데 사용됩니다.
이것은 매우 실용적인 함수입니다. 실제로 이 함수는 배열에서 작동합니다.
단축 코드에서 가로채는 매개변수가 모두 배열 형식이기 때문입니다.

shortcode_atts 함수에 대한 자세한 설명
함수 이름으로 혼동하지 마세요. 워드프레스에서는 주로 숏코드 매개변수의 기본값을 설정하는 데 사용됩니다.
코드를 추출하여 다른 곳에서 사용하면 이 함수는 주어진 배열의 기본값을 설정하는 데 도움이 될 수 있습니다.

shortcode_atts 기능 사용법
이 기능은 사용이 매우 간단합니다.

shortcode_atts(array(
"url" => 'http://PangBu.Com'
), $url)

위 코드의 의미는
$url 배열에서 키값이 url인 멤버의 기본값을 'http://PangBu.Com'으로 설정합니다,
다른 곳에서는 별로 쓸모가 없을 것 같지만, 때때로 배열의 값을 설정하는 것을 항상 잊어버리거나 너무 게으른 일부 매우 게으른 사람들에게는 이 기능이 매우 유용합니다.

shortcode_atts 함수 선언

/**
 * Combine user attributes with known attributes and fill in defaults when needed.
 *
 * The pairs should be considered to be all of the attributes which are
 * supported by the caller and given as a list. The returned attributes will
 * only contain the attributes in the $pairs list.
 *
 * If the $atts list has unsupported attributes, then they will be ignored and
 * removed from the final returned list.
 *
 * @since 2.5
 *
 * @param array $pairs Entire list of supported attributes and their defaults.
 * @param array $atts User defined attributes in shortcode tag.
 * @return array Combined and filtered attribute list.
 */
function shortcode_atts($pairs, $atts) {
 $atts = (array)$atts;
 $out = array();
 foreach($pairs as $name => $default) {
 if ( array_key_exists($name, $atts) )
  $out[$name] = $atts[$name];
 else
  $out[$name] = $default;
 }
 return $out;
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.