프런트 엔드에 일부 포드 항목을 나열하고 싶습니다. 이렇게하려면 보통 pods
shortcode를 사용하고 있습니다. 데이터를 필터링하기 위해 포드 내에서 where
속성을 사용합니다. 예 :Wordpress의 포드 프레임 워크를 사용하여 현재 사용자가 만든 포드 항목을 필터링하기 위해 단축 코드 기능을 위임하는 방법
[pods name="salon" where="author.ID = '2'"]
<li>{@name}</li>
[/pods]
포드 항목을 author.ID
으로 필터링하고 싶습니다. 사용자는 직접 만든 포드 항목을보아야합니다. 현재 사용자는 워드 프레스 API global $current_user;
에 액세스 할 수 있습니다. 또한 포드 {@user.ID}
의 마술 태그를 사용하여 가져올 수도 있습니다. 나는이 문제를 극복 할 수있는 방법을 찾고 있어요
[pods name="salon" where="author.ID = '{@user.ID}'"]
:
는 그러나 문제는 이와 같은 단축 코드 안에 PHP 코드 나 마법 태그를 사용할 수 있습니다.
나는 어쩌면 내가 현재 사용자의 ID를 취득하고 이와 같은pods
단축 코드 함수를 호출 할 수있는 새로운 단축 코드 기능을 쓸 수 있습니다 생각 :
function pods_by_current_user($atts) {
$current_user = wp_get_current_user();
$user_id = $current_user->ID;
// put it into 'where' attribute and delegate to the "pods" function
이 올바른 방식이라고 생각하십니까 이 문제를 해결 하시겠습니까? 그리고 $user_id
을 $atts
에 넣고 나머지는 pods
shortcode 함수에 위임하는 방법을 알고 있습니까?
$atts[ 'where' ] = 'author.ID = ' . (int) $user_id;
을 한 후 정상 포드 단축 코드 반환 : 당신 pods_by_current_user 기능에서
대단히 감사합니다. 이것은 실제로 효과가있었습니다. 그냥 작은 수정 하나를 추가해야합니다. 위임 된 함수에 대한 호출은'$ content' 변수'return pods_shortcode ($ atts, $ content); '를 포함해야합니다. 따라서 새로운 shortcode 함수의 선언은 다음과 같아야합니다 :'function pods_by_current_user ($ atts, $ content = null)' –