2012-09-06 2 views
0

포스트 저장시 하이퍼 링크 구조를 변경하려면 Wordpress에서 스크립트를 작성하는 것이 가장 좋은 방법입니다.포스트 저장시 하이퍼 링크 확인

시나리오 : 작성자는 조건이 주어진 하이퍼 링크가 리디렉션 여부 될 충족하는 경우 저장이 제어 될 것이다에, 하이퍼 링크 <a href="http://www.example.com"></a>에 게시물을 작성하고 저장합니다. URL을 <a href="goto.html?url=http://www.example.com"></a>의 구조를 변경해야하고 데이터베이스에 게시하는 것보다 리디렉션되어야하는 경우. 제가 피하고 싶은 것은 저자가 링크 생성에주의를 기울이지 않도록하는 것입니다.

답변

0

당신은 단순히 save_post 후크에 작업을 추가하고, (A DOM 파서, 또는 정규 표현식을 사용하여) 링크를 수정하는 콘텐츠를 구문 분석 할 수 있습니다.

하지만 게시물 내용을 수정하는 것은 좋지 않으므로 게시물을 표시 할 때만 링크를 수정해야합니다 (the_content 필터 사용).

편집 :

예를 들어

: 코드에 대한 귀하의 의견 및 감사에 대한

add_filter('the_content', 'my_content'); 
function my_content($content){ 
    ... 
    return $content; 
} 
+0

그것은 당신이 제안하는 좋은 소리. 이것은 내 템플릿 구조에서 함수를 빌드해야한다는 의미일까요? – lgt

+0

답변이 업데이트되었습니다. 다른 예 : GIYF. – soju

+0

덕분에 내 하루를 많이 보냈습니다. – lgt

0

href="" 값을 그냥 쓸 수 있습니다.

preg_replace('/<a(.*)href="([^"]*)"(.*)>/','<a$1href="goto.html?url=$2;"$3>', $postcontent); 
+0

감사하지만 내가 해결에 관심을 : 어떻게 포스트하기 전에이 (당신의 코드는) 점점 않는다 wp_posts 테이블에 저장 됨 -> post_content – lgt

+1

안녕하세요. 이 방법을 데이터베이스에 저장하지 마십시오. 사용자의 콘텐츠를 보존하고 표시 할 때 적용하십시오. :) –