Функция shortcode atts() и хук – шоткоды WordPress – уроки и гайды

인사, 친구 마이크 Dmitry에서 채널 wp-plus, 채널을 봅니다

WordPress에 대해 우리는 샷 코드를 연구하는 사이클을 계속합니다 우리는 이미 샷 코드의 유형과이를 생성하는 메커니즘을 연구했습니다 이제 shortcode_atts () 함수에 대해 알아 봅시다 들어오는 매개 변수 및 하나의 특수 후크 번들로 제공됩니다

두 가지 예를 생각해 보겠습니다 이전 강의와이 예에서는 기능의 메카니즘, 두 번째 – 고정, 추상적이고 우리 삶에 가깝습니다 그래서, 가자! 이전 강의의 예제를 사용합니다 우리가 통과 한 모든 매개 변수를 확인해야한다는 것을 기억하십시오 블록의 형성에 사용되며, 존재하지 않거나 값이 이전되지 않았습니다

스텁, 기본값 그런 건축물을 없애고 shortcode_atts () 함수를 사용하십시오 3 가지 주장 첫 번째 인수는 매개 변수 이름이있는 배열입니다 shochkoda 키와 그 기본값의 형태로

예를 들어, 형식을 취하는 매개 변수 top이 있습니다 인용문 전달되지 않으면 우리는 여전히 뭔가가 필요합니다 출력으로 블록의 무결성을 위반하지 않도록합니다 그것이 "견적"이라는 단어가되게하십시오

하단 매개 변수는 견적을 쓴 사람의 가치를 취합니다 전송되지 않으면 "알 수 없음"으로 대체하십시오 두 번째 인수는 실제로 원래 배열 자체입니다 매개 변수가있는 세 번째 인수는 첫 번째 인수와 달리 선택적입니다

샷 코드의 이름을 여기에 입력하면 필요하지 않습니다 원본, 우리는 자동으로 필터를 만듭니다, 감사합니다 우리는 필터링 과정에 개입 할 수 있지만 이것에 대해서 조금 후에 그래서, 어떻게 될까요? 나는 반복하는 것에 지쳐 있지 않으며, 그 과정은 전에 있었던 것과 비슷하다 이 예제에서 매개 변수가 병합됩니다

하지만 노동 조합은 교활합니다! 어떤 사람들은 이것이 PHP 함수 array_merge (), 그러나 이것은 사실이 아닙니다 왜냐하면 array_merge () 그냥 배열을 결합하십시오 shortcode_atts () 함수는 첫 번째 배열을 기본으로 취하며, 상단과 하단에 두 개의 매개 변수가 있고 그것은 두 번째 배열입니다 그리고 두 번째 매개 변수가 몇 개가 될지는 중요하지 않습니다 배열에서만 매개 변수가 사용됩니다

상단 및 하단, 나머지는 폐기됩니다 출력에서 첫 번째 배열의 구조를 얻습니다 매개 변수의 값에만있을 것입니다 우리가 통과 한 값이나 디폴트 값으로 대체된다 양도되지 않은 경우

예를 들어, 매개 변수 top을 전달하면 값 우리에게 전송되었을 때 출력 배열에있을 것입니다 sotcod에서 그러나 그것이 없다면, 그 가치는 첫 번째 배열에서 비 유적으로 말해서, 그루터기, 준비금, 가치 기본적으로 원하는대로 호출하십시오 어떠한 경우에도 출력은 배열이기 때문에, 레이아웃을 약간 변경해야합니다

이제 우리는 하나의 변수를 갖습니다 배열입니다 매개 변수의 이름이고 내용은 값입니다 매개 변수 매개 변수가 아닌 경우 걱정하지 마세요

코드에서 액세스 할 때 오류가 발생합니다 배열의 셀 유형을 찾을 수 없으므로 이제는 항상 키 – 값 쌍이있을 것입니다 또는 전달 된 값 또는 값으로 표시된 값 기본적으로 확인해 봅시다 지난 수업에서 우리는 모든 것을 제거하기로 결정했습니다 shtokod의 매개 변수 – 예, 새 메소드 사용 스텁이 있어야합니다

즉, 우리는 오래된 수표를 없애고, 이 기능은 shortcode_atts ()의 어깨에 있습니다 이제 매개 변수를 추가하여 샷 코드 첫 번째 매개 변수는 top-worked입니다 두 번째 매개 변수 하단 – 그것은 효과가있었습니다 이 접근 방식의 장점은 사실과는 달리, 전에 뭐였지? 첫째, 코드가 더 깔끔하고 깨끗하며 짧아 보입니다

주관적인 주장 너는 어떻게 생각하니? 둘째, 결과물에 필터링 된 결과가 표시됩니다 매개 변수가있는 배열, 즉 아무리 많은 샷 코드에 어떤 매개 변수를 전달 했습니까? 첫 번째 매개 변수에 표시된 매개 변수 만 가져옵니다 배열 장면의 아키텍처에 따라 유용한 기능

셋째, 세 번째 인수가 전달되면 자동으로 우리가 영향을 줄 수있는 연결 고리가 만들어집니다 필터링 과정에서, 즉 배열을 변경하는 것입니다 shortcode_atts () 함수를 반환합니다 따라서, 여러분은 여러분의 shocode를 다른 사용자가 자신의 행동을 바꿀 수있는 기능 우리는 당신이 배포 할 때 이야기하고 있습니다

귀하의 샷시는 플러그인이나 테마의 일부로, 일반적으로 상황, 언제 당신이 직접 shotscode의 코드를 변경할 수 없습니다 하품을하고 싶지 않다면, 이제 나는 너에게 비유 할 것이다 우리가 지금 생각한 것의 좋아하는 사람의 생일에 초대했다고 상상해보십시오 친구 바실리 그리고 당신은 당신의 처분에 보통의 역동적 인 schotkod를 가지고 있습니다

생일날 이름으로 "생일을위한 준비" 그것은 2 개의 매개 변수를 취해야합니다 : 선물 – 선물, 당신은 기부, 옷 – 옷을 입으십시오 책을 선물로 선택하게하고 청바지와 옷처럼 티셔츠 즉, 매개 변수의 원래 배열을 형성했습니다 함수 핸들러에서 사용되며 사용됩니다

두 번째 인수의 형태로 생일보다 하루 전이지만 아직 사지 않았다 책, 좋아하는 청바지와 함께 티셔츠가 세탁물에 제공됩니다 이전 생일 이후에 누가 당신을 양도하지 않았습니까? 열정적 인 활동 그리고 저축의 법에 따르면, 당신은 직장에서 강하게 구금되어 있습니다

책을 사고 픽업 할 방법이 없습니다 세탁물로 만든 옷 그리고 여기에 값이있는 첫 번째 배열 기본값 즉, 책을 사지 않으면 돈을 기부하십시오 옷을 가져갈 시간이 없다면 바지를 입을 것입니다

셔츠로 네, 선물이 최고는 아니며 옷은 그 옷이 아닙니다 너는 옷을 입기를 원하지만, 너는 올 모든 것을 가지고있다 출생 일에 글쎄, shortcode_atts (), 덕분에 선물과 의류는 공정에 영향을 미치지 않습니다

예, 매개 변수를 설명과 함께 전달할 수 있습니다 직장에서의 문제, 질병 목록이있는 매개 변수 – 중요하지는 않지만, 함수는 불필요한 모든 것을 걸러냅니다 너는 백인 명단이있어 생일을 위해 올거야 오직 선물을하고 옷을 입은 것, 측정 된 것 이상 오, 인생에서 그런 기능이 얼마나 부족한가요? 이것은 우리가 이전의 것과 유추의 형태로 고려한 기초입니다 예

하지만 몇 가지 트릭이 있습니다 여기 당신은 잘못된 선물로 생일을갑니다 나는 원하고 싶습니다 그래서? 모든게? 돌아 오는 길 없어? 거기에, 거기에 또 다시있다! 이제 네 친구 집에 거의 다 왔어 그 옆에는 쇼핑 센터가 있으며,이 쇼핑 센터를 통해 당신은 선물과 옷을 모두 살 수 있습니다

이 쇼핑몰은 함수에서 선언 된 후크입니다 shortcode_atts () 우리는 결국 세 번째 매개 변수를 шоткода라는 이름으로 전송했습니다 따라서 자동으로 훅 shortcode_atts_ 플러스 샷 코드의 이름, 즉 밝혀진 후크의 전체 이름 shortcode_atts_birthday 우리는 그것에 연결할 것입니다

함수 핸들러의 이름을 shortcode_atts_birthday_callback ()으로 지정하십시오 보시다시피 네 가지 주장이 필요합니다 이 중 첫 번째 전공과 우리는 반환, 나머지 세 보조 – 보조, 필요한 경우 사용할 수 있습니다 매개 변수가 4이고 기본적으로 후크는 1 매개 변수를 콜백에 지정하면이를 지정해야합니다 그렇지 않으면 치명적인 오류가 발생합니다

이 작동 방식에 대한 자세한 내용을 보려면 후크에 대한 강의를 참조하십시오 후크의 매개 변수 순서를 유지하려면 세 번째 매개 변수는 실행 우선 순위를 전달합니다 – 기본적으로 10이지만 네 번째 매개 변수는 인수의 수를 지정합니다 콜백, 즉 -4 이 변수에 무엇이 있는지 살펴 보겠습니다 그래서 1 인자 $ out은 shortcode_atts () 함수의 결과입니다

즉, 장면 부호의 매개 변수가있는 최종 배열입니다 2 인자 $ pairs – 매개 변수가있는 기본 배열 화이트리스트, 기본 매개 변수의 목록 글쎄, 당신은 이해, 네? 3 매개 변수 $ atts – sotcode로 전송 된 배열 매개 변수와 그 값

4 매개 변수 $ shortcode – 부팅 코드의 이름, 우리는 shortcode_atts ()를 지정했습니다 나는이 이름을 정확하게 쓰지 않아도된다는 것을 상기시킨다 쇼 코다와 같습니다 나는 선택의 여지가 있었지만 나는 성가 시게하지 않으려 고했다 다른 이름을 지정하십시오

솔직히, 나는 이것이 왜 예측되는지 상상할 수 없다 너는? 추측 할 수 있듯이, 어떤 상황에서는 이 매개 변수의 전부 또는 일부가 필요하고 다른 매개 변수가 필요합니다 배열만으로 충분합니다 그래서 우리는 그것을 분류했습니다 우리가 뭐라도 바꿀까요? 예를 들어, 선물 – 나침반이 있습니다

완벽하게 변화합니다 자연적으로,이 대용 암호는 조건 : 등록 된 사용자 만, id가 5 인 페이지 등 우리가 인용 부호를 찍은 플러그인을 릴리스했다고 상상해보십시오 첫 번째 예제와 마찬가지로 매개 변수 만 사용합니다 텍스트 색상 및 견적의 배경색 그 남자가 다 말했어, 그는 모든 걸 좋아 했어, 슈퍼, 클래스

그는 1 만 블록을 만들었습니다 하지만 지금은 디자인의 테마를 변경하고 지금은 따옴표가있는 블록은 새로운 디자인에 적합하지 않았습니다 버즈가 매개 변수를 변경하는 것을 상상해 보라 천개의 schotkodov 그러나 우리는 우리가 다른 것을 지정할 수있는 필터를 가지고 있습니다

확인 텍스트 색상이 흰색이고 배경색이 파란색 인 경우 – 변경 텍스트 색상은 파란색이고 배경은 회색입니다 그리고이 매개 변수가 있던 블록의 일부가 변경되었습니다 즉시 글쎄,이 원칙에 따라, 나머지는

뭐라 할지라도, 이것은 손으로하는 것보다 몇 배 빠릅니다 그런 상황이 많이 있지만, 나는 희망이 분명하다 shortcode_atts () 함수가 꽤 좋긴하지만 간단합니다, 당신은 동의 할 것입니다 하지만 여전히 질문이있는 경우 – 환영합니다 의견에서 주저하지 말고 물어보십시오

또한 비디오의 설명을 보면서 잊지 마세요 추가 자료 링크, 수업 코드 및 infa, 어떻게 개발 채널을 도울 수 있습니다 Happie 끝 성공적인 개발과 새로운 회의 지금까지!