2011-03-12 5 views
11

저는 한동안 붙어있었습니다. 저는 처음부터 테마를 쓴 WordPress 사이트에서 일하고 있습니다. 특정 섹션에서 필요한 WordPress 기능을 얻기 위해 PHP 호출을 사용합니다.do_shortcode가 작동하지 않습니다.

내가 플러그인을 사용하려고하지만,

echo do_shortcode('[STORE-LOCATOR]'); 

단지 밤은 작업을 통해 호출하고 있습니다. 기본 템플릿으로 전환하여 해당 코드를 게시하더라도 여전히 작동하지 않습니다. 간단하게 에코됩니다. "[STORE-LOCATOR]"

도움이 될만한 모든 도움을 주실 수 있습니다.

+0

(http://codex.wordpress.org/Function_Reference/do_shortcode) : "이있는 경우에는 단축 코드 태그가 정의되지, 다음 내용 필터링없이 반환됩니다. 플러그인의 단축 코드가 여전히 게시물이나 컨텐츠에 표시되므로 플러그인이 비활성화 된 경우 문제가 발생할 수 있습니다. " - 플러그인이 실제로 활성화되어 있습니까? –

+0

게시물 내용에'[STORE-LOCATOR]'가 작동합니까? – Dogbert

+0

예. 표시됩니다. – sjobe

답변

35

[STORE-LOCATOR]은 WordPress의 의미에서 'shortcode'이 아닐 수 있습니다.

다른 플러그인 인 Stream Media Player에서이 문제가 발생했습니다. 이들은 단축 코드와 동일한 구문을 사용하지만 실제로는 없습니다. 사용

시도 :

echo apply_filters('the_content',' [STORE-LOCATOR] '); 

대신 do_shortcode하고 도움이되는지 확인합니다.

+7

방금이 정확한 (매장 찾기 도구) 문제를 만나서이 질문을 발견했습니다. 이 대답은 문제를 해결했으며 받아 들여진 대답이어야합니다. –

+1

이 대답은 어떻게 받아 들여지지 않습니까? 이 작동합니다.전자 상거래 플러그인으로이 문제가 발생했습니다. 감사합니다. – ProblemsOfSumit

+0

너, 친구, 구세주 야! 고맙습니다! – NPC

2

일반적으로 do_shortcode이 아닌 Store Locator 플러그인에만 적용됩니다.

apply_filters은 다른 플러그인에 대해 적절한 해결책이 될 수 있지만 Store Locator에서는 작동하지 않습니다. 빈 공간과 일부 컨트롤 만 표시됩니다. 이는 페이지/게시물 본문에서 짧은 코드를 찾고 페이지 상단에 모든 js 참조를 포함할지 여부를 결정하기 때문입니다. 그리고 이러한 참조가 없으면 아무 것도 작동하지 않습니다. sl-functions.php의 sl_head_scripts 함수를 참조하십시오.

이 동작을 변경하려면 대신 페이지 제목을 기반으로 일치하도록 해당 기능을 수정하십시오. 내 경우에 나는 단지 "가게"페이지에 그것을 원했다, 그래서 나는 전체 $on_sl_page 테스트에서 주석이 그것을 대체 :

$on_sl_page = (strpos($pagename, 'shop') === 0);

그때 apply_filters 내 페이지에서 호출 한에 표시된 다른 답 :

echo apply_filters('the_content','[STORE-LOCATOR]');

는 그리고이 완벽하게 작동 것으로 보인다.

13

do_shortcode()은 문자열을 반환합니다. 그것은 수행하여 작업 내가받을 다음 [문서]에서

<?php echo do_shortcode(...); ?> 
0
echo do_shortcode('[STORE-LOCATOR][/STORE-LOCATOR]'); 
+0

귀하의 답변은 길이 때문에 낮은 품질로 표시되었습니다. 답을 더 깊이 설명해보십시오. –

관련 문제