it-swarm-ko.tech

플러그인에 연결

나는 이상하게도 사용자가 뭔가를 할 때 다른 플러그인을 할 수있는 플러그인을 만들고있다.

나는 그 플러그인들에 커스텀 후크들을 추가 할 수 있지만, 분명히 이것은 나의 플러그인을 배포하고 싶을 때 잘 작동하지 않을 것이다. 내 플러그인에서 다른 사람들의 플러그인에 후크를 추가하는 좋은 방법이 있습니까? 다른 개발자가 작업을 수행 할 수 있도록 사용자 지정 후크를 포함하도록 작성자에게 요청하는 유일한 해결책은 무엇입니까?

예 : 누군가가 기사를 리트 윗 할 때 내 플러그인에서 무언가를하고 싶습니다. 인기있는 리트 윗 플러그인이 무엇이든간에 사용자 정의 후크가있어서 내가 연결하여 불을 끄면 좋을 것입니다. 거기에, 그래서 내가 그것을 포함하도록 자신의 플러그인을 수정할 수 있지만, 내 사본에 대해서만 작동하고, 나는 그것을 재배하려고하지 않으려는 것입니다.

우리 모두가 Nice를 함께 할 수 있도록 더 나은 플러그인 개발자가 되려고 노력해야합니까?

12
Ryan Elkins

@ 라이언 엘 킨스 :

나는 각각의 유스 케이스가 당신에게 어떻게 가져 오는 지에 따라 답이 다를 것이라고 생각한다. 어떤 경우에는 신속하고 더러운 것이 필요할 것이며, 다른 경우에는 더 중요한 유스 케이스가 될 수도 있습니다. 다음은 마음에 오는 두 가지 사항입니다.

WordPress Core에서 대체 후크 찾기

일부 시간이 빠르거나 더러운 경우 코어에서 다른 다운 스트림 후크를 사용하여 ob_start()/ob_end_clean() ( @ 참조)을 사용하여 업스트림 및 다운 스트림 후크를 모두 사용할 수 있습니다. to "코드 예제로 플러그인 코드"를 통해 큰 HTML 출력 다루기.

후크를 추적하려면 어제 게시 한 Instrument Hooks plugin I을 사용하여 잠재적으로 사용할 수있는 후크를 찾는 데 사용할 수 있습니다.

원하는 후크가있는 패치를 플러그인 개발자에게 제출하십시오.

유스 케이스가 당신이나 커뮤니티에서 더 중요하다면, 나는 당신이 필요로하는 훅을 플러그인에 추가 할 것을 권한다. 그런 다음 잘 테스트하여 유스 케이스에 대한 실질적인 문제를 해결 한 후에 플러그인 개발자에게 패치를 제출할 수 있기를 바란다. 이렇게하면 테스트 된 코드를 제공하여 가능한 한 쉽게 만들 수 있으며 사용자가 실제로 필요한 것을 보장하기 위해 유스 케이스를 직접 작업 할 수 있습니다. 나는 내가 얼마나 자주 후크가 필요 하나를 구현하려고 시도 후 찾을 수있는 특정 후크가 필요하다고 생각하지만 내가 처음으로 구상했던 것과 다른 하나를 말할 수 없습니다.

만약 당신이 여기에 패치를 만드는 것에 익숙하지 않다면, 플러그인을 패치하는 데 가장 많이 적용되는 WordPress 핵심 패치에 대한 좋은 기사와 그렇지 않은 경우에는 무엇을해야할지 분명히 알 수 있습니다.

희망이 도움이 될까요?

추신 한 가지 실망스러운 점은 질문에 답하는 것이 최종 사용자만을 위해 설계된 플러그인의 비율 즉, 자체적 인 후크가없는 플러그인의 비율입니다. WordPress가 대부분의 플러그인처럼 디자인되었다고 상상해보십시오. 융통성이없고 매우 틈새 솔루션입니다.

워드 프레스가 다른 플러그인이 의존하는 플러그인을 자동으로 설치할 수 있다면 상황이 달라질 수 있습니까? 클라이언트는 90 %가 나머지 10 %를 업데이트 할 수있는 유연성을 허용하지 않는 반면, 클라이언트는 특정 방식과 사용 가능한 플러그인을 원하므로 일반적으로 처음부터 필요한 많은 기능을 작성해야합니다.

나는 WordPress 커뮤니티를 이끌고있는 사람들이 좋은 답변이 StackExchange 사이트에서 보상받는 것과 같은 베스트 프랙티스 (예 : 다른 개발자를위한 후크 추가)에 대한 플러그인에 대한 보상을받을 수있는 방법을 찾길 바란다.

6
MikeSchinkel

우리는 단지 시도 할 필요가 있니?   ~ 더 좋은 플러그인 개발자가되어서 우리 모두 Nice를 함께 할 수 있을까요?

우선, 네.

다른 개발자가 작업을 수행 할 수 있도록 사용자 지정 후크를 포함하도록 작성자에게 요청하는 유일한 해결책은 무엇입니까?

그것은 좋은 해결책이 될 것입니다.

다른 플러그인을 복사하고 변경 사항을 추가 할 수도 있습니다. 단, 더 많은 번거 로움이 있습니다.

2
Arlen Beiler

나는 당신이 질문에서 당신의 질문에 대답했다고 생각합니다, 그래서 그것은 다소 수사학이되었습니다.

분명히 Android와 Intent 시스템에서 Google이 권장하는 시스템과 유사한 시스템에 대해 이야기하고 있습니다. 즉, 애플리케이션이 다른 애플리케이션을 대신하여 수행 할 수있는 작업을 게시 할 수 있으며,이를 통해 애플리케이션에 연결하여 데이터를 다시 전달할 수 있습니다. 앞으로. 개인적으로 우리는 좋은 개발자로서 향할 필요가 있다고 생각합니다. WordPress를 사용합니다. WordPress를 사용합니다. WordPress를 사용하거나 비슷한 사내 제품을 쉽게 개발할 것인지를 결정할만큼 굉장하기 때문에 WordPress를 사용합니다. 플러그인 리포지토리 자체는 최종 사용자 + 개발자 - 다시 말하면 똑같습니다. 왜 완벽하게 좋은 플러그인이있을 때 트위터 플러그인을 개발해야합니까?.

같은 '왜 중복을 개발 하는가'는 여기서 질문의 핵심입니다. 안드로이드 인 텐트 시스템은 애플리케이션이 이미 생성 된 기능을 활용하고 그 사이에서 데이터를 전달할 수있게 해 주며, 널리 사용되기 때문에 많이 사용된다. 유사한 시스템이 이미 WordPress에 구현되어 있지만 핵심 코드에있는 고리를 넘어서 거의 사용되지는 않습니다.이 코드는 많이 사용됩니다.

커스텀 플러그인에 더 많은 고리가 있다면 커뮤니티에 도움이 될 것입니다.하지만 말했듯이, 언제 어디서나 쉽게 후크를 추가 할 수있는 방법은 없습니다.

당신이 연결하고 싶은 트위터 플러그인의 관점에서, 저자에게 이메일을 보내면, 그가 당신을 위해 그들을 기꺼이 추가 할 것이라고 확신합니다.

플러그인에 후크를 넣을 수있는 좋은 곳이라고 생각되는 곳이 있다면, 그것을 작성하고 문서화하십시오. 더 많은 사람들이 플러그인에 후크를 넣기 시작하거나 그렇게하기 위해 일반적인 푸시가있을 경우 결국에는 발생합니다.

그래서 당신의 엔딩 질문에 답하기 위해서 :

우리 모두가 Nice를 함께 할 수 있도록 더 나은 플러그인 개발자가 되려고 노력해야합니까?

예.


편집 : 나는 실제 질문과 후크를 구현하는 가장 좋은 방법에 대해 좀 더 생각해 보았습니다. 플러그인을 실행하려고하는 특정 함수가 존재할 경우 실행할 액션을 추가 할 수 없었습니까?

2
nobody

함수를 정의하십시오.

function my_footer() {
    do_action('my_footer');
}

이제이 훅에 연결할 수 있습니다 : add_action('my_footer', 'example_function', 1); # 더 많은 정보는 내 게시물 에서 볼 수 있습니다.

0
bueltge