2017-02-01 5 views
0

WordPress 함수 디버깅을 완료했습니다. 디버깅으로 인해 쿼리에서 오류가 발생했습니다. 함수의 실행에 오류가 나타나지 않지만 결과는 반환을 통해 출력되지 않습니다. 확실한 대답은 쿼리가 아무 것도 반환하지 않는다는 것입니다. 그러나 쿼리 구문을 수정하기 전에 동일한 코드가 오류에도 불구하고 완벽하게 작동했습니다. 오류가 표시되지 않았으므로 출력이 페이지에 표시되지 않습니다. 다른 단서는 내가 에코를 추가했고 코드가 프로필 페이지에서만 실행되어야한다는 사실에도 불구하고 여러 페이지에 에코가 나타났습니다. 나는 php에 익숙하지 않기 때문에 코드가 캡쳐 된 에러없이 어떻게 동작 할 수 있는지 이해하지 못하고 기능하지는 못한다. 특히 오류 로그에 오류가 표시되는 동안 의도 한대로 실제로 작동했음을 감안할 때. 먼저 회원 등급 (첫 번째 쿼리)을 찾은 다음 멤버십의 실제 이름 (첫 번째 쿼리를 기반으로 한 두 번째 쿼리)을 찾아 멤버 멤버십 이름을 찾는 간단한 쿼리입니다. "return $ text. $ content;" 선이 발사되지 않는 것 같습니다. 코드는 다음과 같습니다.WordPress add_filter 함수가 출력을 반환하지 않습니다.

답변

0

따옴표에 감사드립니다! 귀하의 질문에 대답하기 위해 필자는 예제 코드를 표기법, 인용 부호, 큰 따옴표 등 모든 방식으로 살펴 보려고 애썼다. 일부는 정확한 결과를 산출했지만 여러 가지 오류가 발생했습니다. php 초보자이기 때문에 오류 메시지 중 하나에 대한 조언을 얻었고 phpMySQL을 사용하여 SQL 문자열을 디자인했습니다. 응용 프로그램에서 PHP로 변환 할 때 표시된대로 작은 따옴표가 있습니다. 코드는 오류없이 처음으로 실행되었지만 결과는 반환하지 않았습니다. $ numb 및 $ idnum 및 voila '에서 따옴표를 제거하는 코드를 수정했습니다.'; 마침내 올바른 결과가 산출되고 오류가 발생하지 않았습니다. 다음은 작동하는 코드입니다.

+0

관심있는 사람들에게이 코드는 사용자 MemberMouse 멤버십 이름을 WPS Pro 프로필 페이지에 삽입하도록 설계되었습니다. Membermouse에는 로그인 한 사용자를 제외하고 사용자 정보를 얻기위한 스마트 코드가 없습니다 (좌절!) 방문자가 WPS Pro Directory를 클릭하여 전문 직업인 중 한 명을 보았을 때 전문가 수준을 나타내는 회원 등급 표시가 없었습니다 프로의 이제 프로필 소유자의 회원 등급이 WPS Pro 프로필 페이지 상단에 아름답게 표시되는 프로를 위해 표시됩니다. – Homeacoustics

0

1) if의 중괄호를 놓쳤습니다. 따라서이 조건 if (is_page('Profile'))은 그 뒤의 첫 번째 행에서만 작동합니다.

2) 콜백 필터 함수는 어떤 경우에도 값을 반환해야합니다. 따라서 다음과 같이 작성해야합니다.

function Welcome($content) { 
    if (is_page('Profile')) { 

     // your changes for content 

     return $content; 
    } 
    return $content; 
} 

3) 왜 쿼리 매개 변수에 작은 따옴표를 사용합니까? 변수로 %d을 대체해야하는 경우에는 따옴표없이 (또는 큰 따옴표로) $numb을 써야합니다. 자세히 알아보기 here.

관련 문제