2011-04-09 2 views
2

wordpress에서 URL을 통해 값을 전달하고 싶지만 wordpress가 &으로 자동으로 교환하는 몇 가지 문제를 만났습니다. 어떻게 &을 여전히 &으로 만들 수 있습니까?금지 된 wordpress url을`& 0`을`# 038; '와 어떻게 교환합니까?

나는 심볼을 교환하기 위해 많은 규칙이 있으며, 일부 코드를 수정하려고했지만 실패했습니다.

that=this

방법을 올바르게 설정하는 부분의 값을 얻을 수 site.com?this=that#038that=this

와 페이지와 같은 웹 브라우저 주소

site.com?this=that&that=this가 출력과 같은 몇 가지 링크? 감사.

+0

링크 삽입 도구를 통해 해당 URL과 해당 매개 변수를 게시물 편집기에 삽입 하시겠습니까? – AJJ

+0

@AJweb, 페이지의 일부 코드 인'page editor'에이 url과 매개 변수를 삽입합니다. – cj333

답변

2

당신은 당신의 템플릿 폴더 안에 functions.php 파일이 추가하여 wptexturize()을 해제 (또는 기존에 추가) 할 수 있습니다

remove_filter('the_content', 'wptexturize'); 

을하지만 물론이 뜻이 모두 비활성화 있습니다 "&"변환뿐만 아니라 "청소".

앰퍼샌드 변환을 제거하려는 경우 formatting.php에서 962 행을 주석 처리 할 수 ​​있습니다. 나는 라인 961과 962를 넣고 (이 변경되지 않은 WP 3.1입니다) 게시 :

// Converts lone & characters into & (a.k.a. &) 
$content = preg_replace('/&([^#])(?![a-z1-4]{1,8};)/i', '&$1', $content); 
+0

큰 도움이됩니다. 대단히 감사합니다. – cj333

+0

더 추가 : 또한'formatting.php'에 주석을 달아야합니다 // // $ curl = preg_replace ('/ & ([^ #]) (?! [a-zA-Z1-4] {1,8};)/','& $ 1 ', $ curl);'// $ url = str_replace ('& ','& ', $ url);'. – cj333

0

하나 더 해결 방법 :

wp-includes\formatting.php : esc_url()코멘트 라인에

$url = str_replace('&', '&', $url); 

그것을 나를 위해 일합니다.

+4

WordPress를 업데이트 한 후에는 변경되지 않습니다 – DNACode

+0

esc_url() 컨텍스트를 'display'에서 'db'로 변경하는 esc_url_raw()를 사용하십시오. &는 더 이상 &를 바꿀 수 없습니다. –

1

또한이 문제가 발생했습니다. 일부 연구를 마친 후에 this plugin이 수정되었습니다. 플러그인을 설치 한 후에는 워드 프레스 형식을 원하지 않는 코드 부분에이 태그를 추가하기 만하면됩니다. 좋아요 :

<!-- noformat on --> 
Your code with & in it 
<!-- noformat off --> 

희망이 있습니다.

관련 문제