it-swarm-ko.tech

WordPress 핵심 파일 수정하기

왜?

때때로 WordPress 자체 또는 플러그인의 동작을 변경하는 쉬운 수정은 플러그인 또는 WordPress의 파일을 직접 변경하는 것일 수 있습니다. 그런 아이디어를 내놓을 때, 보통 응답은 :

코어를 해킹하지 마십시오.

코어 파일을 변경하는 것이 일반적으로 나쁜 생각입니까?

중히 여기다?

그러나 때로는 사이트에서 중요한 요소가 될 수있는 일은 핵심 파일을 변경하지 않고 좋은 방법으로 수행하는 것만으로는 불가능합니다. 이러한 상황에서 해킹 코어를 시작하기 전에 무엇을 알아야합니까?

방법?

모든 옵션을 고려했으나 유일한 해결책은 코어 파일을 해킹하는 것입니다. 이 일에 대해 어떻게해야합니까? 변경된 핵심 요소, 업데이트와 같은 워크 플로에 어떤 영향을 미칩니 까?

21
googletorp

핵심 핵 을 사용해야하는 경우 다른 사람이 확장 할 수있는 방식으로 그렇게하는 것이 좋습니다.

동작 후크 추가

열 번 중 아홉 번, 특정 파일에 여분의 do_action 호출 만 있으면 원하는 작업을 수행 할 수 있습니다. 이 경우 작업을 추가하고 문서화 한 다음 - Trac를 통해 패치를 제출하십시오. 패치에 대한 정당한 이유가있는 경우 (즉, 패치를 사용한 유일한 사람은 아님) 코어에 추가 할 수 있습니다.

다음으로,이 새로운 후크에 연결되고 필요한 기능을 수행하는 사용자 정의 플러그인 (릴리스/배포 할 필요가 없습니다!)을 빌드하십시오.

핵심 파일 리팩터링

다른 경우에는 다르게 동작하기 위해 코드 조각이 필요할 수 있습니다. 예를 들어 변수를 참조로 전달하거나 에코하지 않고 값을 반환하십시오. 잠시 시간을내어 코드를 리팩터링하여 필요한 작업을 수행하십시오. 그런 다음 - Trac를 통해 패치를 제출하십시오. 당신의 일.


여기서 개발중인 테마가 보이십니까? 해킹 코어가 반드시 아니오 일 필요는 없습니다. 대부분의 개발자가 새로운 사용자 또는 초보자 프로그래머에게 매우 낙담합니다 무언가를하는 방법에 대해서는, 핵을 해킹 할 것을 제안하기 전에 매번 플러그인을 제안 할 것입니다).

해킹 코어는 WordPress가 개발하고 발전하는 방식이지만 PHP를 배우거나 WP 파일을 사용한 경험이없는 사람에게는 위험합니다. 코어를 만지기 전에 플러그인으로 시작하십시오. 플러그인을 끊으면 플러그인을 빠르게 제거 할 수 있습니다 (필요한 경우 FTP를 통해 제거) ...하지만 코어를 끊으면 사이트와 잠재적으로 사이트에 나쁜 일이 발생할 수 있습니다 데이터베이스도 마찬가지입니다.

그러나 핵심 해킹을 피할 수없는 상황이라면 변경하십시오. 또한 눈에 띄는 위치에 변경 사항을 게시하십시오 (블로그가 눈에 잘 띄면 충분할 수 있지만 ... Trac 을 권장합니다. 커뮤니티 변경 사항이 다음 릴리스로 가져 오기 때문입니다). 변경 사항은 백여 개의 사이트에서 문제를 해결할 수있는 마법의 총알 일 수 있습니다. 따라서 사이트 구축에 도움이되는 커뮤니티에 기여하십시오.

변경 사항이 커밋되면 해킹이 핵심의 일부가되므로 나중에 걱정할 필요가 없습니다. 그렇지 않은 경우 적어도 3 개월 안에 WP을 (를) 업그레이드 한 후 핵을 다시 구현하는 방법에 대한 자세한 문서가 있습니다.

21
EAMann

코어를 해킹하지 마십시오.

첫 번째 레벨의 경험이없는 사용자를위한 제안이기 때문에 그렇습니다. 해킹 코어는 설치를 중단하고, 변경 사항이 업데이트 등을 지속하도록 보장 할 수 없습니다.

물론 해킹 코어!

물론 SVN과 같은 버전 관리 시스템을 사용하여 실제로 핵을 해킹 할 수 있습니다. 프로젝트 업데이트와 함께 핵심 코드에 대한 변경 사항을 유지하는 데 도움이됩니다. 또한 Wordpress 용 패치를 만들어 프로젝트에 보낼 수 있습니다.

해킹 코어가 Wordpress를 진화시키는 핵심 요소입니다.

고려 사항

전체 SVN을 설치하지 않고 어떤 파일을 변경했는지 알고 있다면 Diff/Merge (win의 경우 : WinMerge)와 같은 저수준 도구를 사용할 수 있습니다. ) 또는 비교 기능이있는 편집자 (예 : 메모장 + +와 비교 플러그인 ). Linux에서는 동일한 기능을하는 명령 줄 유틸리티를 쉽게 설치할 수 있습니다. Geany 편집기 는 Nice Shell 통합 btw와 함께 제공됩니다. .

나는 열심히 일하는 데 Eclipse PDT를 선호한다. 그러나 그것은 빠른 편집이나 해킹을위한 것이 아닙니다.

그래서 올바른 툴을 사용하고 있고 해킹을 원한다면 핵심을 갈 길이라는 말입니다. 다른 Noob 사용자 서버 (예 : Wordpress는 꽤 유명합니다)에 남겨져있는 무언가를 함께 해킹하는 경우 무언가를 깨면 쉽게 튕겨 낼 수있는 플러그인을 제공하십시오.

3
hakre

문제는 다음과 같습니다.

  1. 보안 업데이트 등으로 인해 코어를 업데이트 할 때마다 자동 업데이터를 실행하는 대신 수동으로 업데이트해야합니다.
    이것을 원한다면, 스스로 삶을 편하게하십시오.
    • 모든 변경 사항을 공통 마커 (.e.g // PATCH START// PATCH END)로 표시하십시오.
    • winMerge와 같은 도구를 사용하여 기존 소스를 새 소스와 비교하고 필요한 경우 변경 사항을 복사하십시오.
    • 복사하는 코드 영역이 바뀌었을 때 조심해야하고 패치를 적절하게 변경해야합니다
    • 귀하의 클라이언트를 다시 빌려줄 수 없다면, 이것은 '끝나지 않는'직업이며, 청구 가능한 시간을 차지한다는 것을 알아 두십시오.
  2. 특정 방식으로 코어가 작동 할 것으로 기대하는 플러그인과 호환되지 않는 문제가 발생할 수 있습니다. 추가 테스트가 필요합니다.

때로는 100 % 피할 수없는 경우도 있지만, 필자는 거의 항상 일을 성취하는 또 다른 방법을 제시하거나이 작업을 수행하는 데 소요되는 시간 비용으로 인해 사양을 변경합니다. 그것은 유지 보수의 악몽 일 뿐이며, 많은 사람들이 적절한 해법을 찾지 않고 핵을 해킹하려고합니다.

2
Dan Smart