Wordpress 사이트 용 PHP 클래스를 만들고 있습니다. 다음 메서드는 잘 작동하지만 인수를 전달하고 다른 메서드 내에서 코드를 호출하여 비트를 추상화하려고하면 더 이상 작동하지 않습니다 (아래 코드 참조). OOP PHP 메서드가 다른 메서드 내에서 호출 될 때 작동하지 않습니다.
public function user_has_submitted_in_dog_category() {
$args = array(
'post_type' => 'submissions',
'author' => get_current_user_id(),
'tax_query' => array(
array(
'taxonomy' => 'submissions_categories',
'field' => 'slug',
'terms' => 'dog'
)
)
);
$user_posts = get_posts($args);
if(count($user_posts))
return true;
}
이
가 작동하지 않습니다 :public function user_has_submitted_in_dog_category() {
$this->user_has_submitted_in_animal_category('dog');
}
public function user_has_submitted_in_animal_category($category) {
$args = array(
'post_type' => 'submissions',
'author' => get_current_user_id(),
'tax_query' => array(
array(
'taxonomy' => 'submissions_categories',
'field' => 'slug',
'terms' => $category
)
)
);
$user_posts = get_posts($args);
if(count($user_posts))
return true;
}
작동하지, 나는 user_has_submitted_in_dog_category()
사실 반환하지 않습니다 것을 의미한다. 다음과 같이 내가 템플릿 파일을 호출 코드가 인쇄 You have not submitted yet
의
<?php if($submission->user_has_submitted_in_dog_category()) : ?>
<div class="msg">You have already submitted.</div>
<?php else : ?>
<div class="msg">You have not submitted yet.</div>
<?php endif; ?>
블록을,하지만 난 내 사용자 지정 분류 dog
에 게시물을해야합니까.
어떻게 호출하는'user_has_submitted_in_dog_category()' – Ice76
가 어떻게 "작동하지 않는"정의합니까? 오류가 있습니까? 예상되는 행동 대 당신이 실제로보고있는 행동은 무엇입니까? (힌트 : 아마도 $ this-> user_has_submitted_in_animal_category ('dog'); 앞에'return'을 넣기를 원할 것입니다. 그렇지 않으면 바깥 함수를 호출 할 때 반환 값이 전달되지 않습니다.) –
더 많은 것을 할 수 있습니까? 구체적인 "작동하지 않는다"는 의미입니까? 오류가 발생 했습니까? 아무 반응이 없습니다? PHP의 오류 출력은 기본적으로 해제되어 있으므로 출력이 없으면 일시적으로 켜거나 켜는 테스트 환경을 사용하는 것이 도움이 될 수 있습니다. –