programing

함수에 부모 파일이 필요할 때 하위 Wordpress 테마에서 부모 파일을 재정의하는 방법.php

instargram 2023. 3. 28. 21:13
반응형

함수에 부모 파일이 필요할 때 하위 Wordpress 테마에서 부모 파일을 재정의하는 방법.php

저는 워드프레스 테마를 디자인하고 코딩하는 것에 다소 익숙하지 않으며, 최근 워드프레스에서 무료로 제공되는 시드니 테마를 기반으로 어린이 테마를 시작했습니다.내가 해결할 수 없는 난관에 부딪쳤다.

부모 파일을 통해 호출되는 PHP 파일이 있습니다.functions.php커스터마이즈해야 하고 부모 테마를 업데이트할 때 손대지 않아야 합니다.이 파일은template-tags.php는, 「inc」폴더내에 있습니다.Wordpress codex(여기에 문의하기 전에 참조)에 따르면 자녀 테마에 대한 모든 중복 파일(예:functions.php)는, 부모 테마내의 것을 자동적으로 덮어씁니다.이것이 폴더 내의 파일에서도 기능하는지는 모르겠지만, 이 특정 파일이 부모 파일 내에서 호출되고 있는 것은 사실이라고 생각합니다.functions.php는 로드되는 부모 파일이 되도록 합니다.커스터마이즈된 버전을 가져오기 위해 자테마로 큐잉해야 했던 스타일 CSS와 JS 스크립트 파일도 마찬가지이기 때문에 저는 이것을 상정하고 있습니다.

단, Wordpress codex에는 이미 부모 컴퓨터에서 호출된 파일을 덮어쓰는 방법을 설명하는 것은 없습니다.functions.php다른 곳에서는 아무것도 찾을 수 없습니다(이 질문에서도 마찬가지입니다).WordPress 하위 테마 상위 테마보다 우선합니다. WordPress의 하위 테마로 상위 테마 함수재정의함수보다 우선함수에서 플러그 불가능한 상위 테마 함수를 재정의하는 방법 등이 있습니다.php file?, Wordpress child teme - 함수.php copy - 특별히 도움이 되는 "clare"는 할 수 없습니다.

정리하면 다음과 같습니다.

  • 상위 테마에 파일과 함께 "inc" 폴더가 있습니다.template-tags.php그 안에 있어요.
  • 내 아이 테마에도 파일과 함께 "inc" 폴더가 있습니다.template-tags.php그 안에 있어요.
  • 부모 테마의functions.php에는, 그 파일을 호출하는 다음의 코드가 있습니다.

    require get_template_directory() . '/inc/template-tags.php';
    
  • 내 아이에 추가하려는 모든 것functions.php를 호출하는 파일template-tags.phpWP는 같은 것을 두 번 요구할 수 없기 때문에, 파일은 에러를 발생시킵니다.

부모의 상담에 코멘트를 하는 것 이외에는functions.php실제적인 해결책은 아닌 것 같지만, 회피책이라 달리 어떻게 해야 할지 모르겠습니다.

이번에는 어떤 의견이라도 주시면 감사하겠습니다.잘 부탁드립니다!

안녕하세요 @Questioner No27,

오랜만에 물어보시는 질문인데 저도 같은 문제에 직면해서 이틀째 답변을 찾고 있습니다."안녕"과 같은 간단한 대답이 있습니다.

  1. 건 없어요.inc)를 선택합니다.template-tags.phpfilename을 클릭합니다.
  2. template-tags.php.functions.php내 경우엔, 난 다른 사람을 무시하길 원했어function mytheme_posted_on()template-tags.php

그리고 이제 작동한다.https://wordpress.org/support/topic/inc-folder-in-child-theme(Stephencottontail 답변) 덕분입니다.

template-tags.php의 아이 테마에 있는 헤더의 레이아웃을 변경하고 싶은 것과 같은 문제가 있었습니다.

저에게 효과가 있었던 솔루션은 다음과 같은 라인을 제 기능에 사용하는 것이었습니다.php 파일(자녀 테마): get_stylesheet_directory() ./inc/module-module이 필요합니다.php';

나는 기능에서 부모들의 원래 대사를 사용하고 있었다.php: get_module_directory() ./inc/module-module이 필요합니다.php';

get_template_directory() 함수를 사용하면 항상 부모 테마 디렉토리가 반환되기 때문에 이 함수는 작동하지 않았습니다.

get_stylesheet_directory() 함수를 사용하면 Child Theme 디렉토리를 얻을 수 있습니다.

네, "get_stylesheet_directory()" 함수의 이름이 매우 직관적이지 않다는 것을 알지만, 실제로는 Child Theme 디렉토리의 위치를 반환합니다.

인터넷 검색으로 해결하는데 시간이 걸렸습니다.검색에서 도움이 되는 참조를 온라인에서 찾았습니다. 함수에 부모 파일이 필요할 때 하위 Wordpress 테마에서 부모 파일을 덮어쓰는 방법.php

를 사용해야 합니다.

get_stylesheet_directory() 테마

get_template_directory() 테마

https://www.csestack.org/overwrite-wordpress-php-file-subfolder-child-theme/

언급URL : https://stackoverflow.com/questions/32554393/how-to-override-a-parent-file-in-a-child-wordpress-theme-when-parent-file-is-bei

반응형