• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

수업내용같이 같은 함수를 썼지만 배열을 넣을 수 없습니다 어떤오류인가요?

21.07.30 15:46 작성 조회수 151

0

 register_taxonomy 부분에서 코드 오류가 납니다. 어떻게 해결하면 되나요?

답변 3

·

답변을 작성해보세요.

0

잘 해결됐다니 다행입니다! :)

0

답변 감사합니다.  강사님 코드 넣으면 오류 부분이 잡이네요~~!

우선 다르게 이렇게 작업 해서 수정은 했습니다.

    $args   = array(
        'hierarchical'      => true
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => [ 'slug' => '작업 담당 및 부서' ],
    );









    register_taxonomy'새로운 분류', [ 'blue_product' ], $args);

0

안녕하세요, 블루시스템 님.

코드를 화면과 동일하게 입력하셨는데, 에러가 떠서 당황하셨을 것 같습니다.

지금 코드를 작성하신 것을 보면 PHP8부터 지원되는 Named Arguments 기능을 사용하신 것처럼 보입니다. 함수에 인자값을 넘길 때 인자값의 이름을 지정해서 넘겨줄 수 있는 기능이지요. 그러나 블루시스템 님의 PHP 버전과 편집기 설정은 PHP8 미만의 버전이라서, 해당 문법이 지원되지 않는 것 같고요.

PhpStorm의 파라미터명 표시 기능

물론 블루시스템 님의 PHP 버전이 원인인 것은 아닙니다. 제가 강의를 촬영하던 2년 전에는 아직 PHP8이 나오기도 전이라 Named Arguments 기능이 없었습니다.

다만 제가 사용하는 통합개발환경 툴인 PhpStorm이 함수의 정보를 읽어서, 파라미터의 변수의 이름을 표시해 주는 기능이 있었던 것입니다. 개발자가 어떤 값을 입력하면 되는지 알기 쉽게 도와 주는 기능이었던 것이죠.

그러니까 PhpStorm이 표시만 해 준 정보를 코드로 입력하면서 에러가 발생한 것입니다.

따라서 아래와 같이 코드를 작성하시면 작동이 잘 될 것입니다.

register_taxonomy( 'job_author', 'blue_product', [
    'label' => '레이저',
    'show_admin_column' => true,
] );

아래는 제 강의 화면을 캡쳐한 것인데요. 제가 빨갛게 표시한 부분이 PhpStorm이 표시를 해 준 부분입니다. 실제로 코드를 작성한 것이 아니라 PhpStorm이 힌트로 표시를 해 준 부분이라는 것이죠. 그래서 폰트도 색깔도 다른 것을 알 수 있습니다.

영상을 가만히 보시면 그 부분은 제가 타자를 치지 않는데도 표시가 되는 것을 보실 수 있을 거예요.

도움이 되셨기를 바랍니다.

감사합니다.