자동으로 WordPress 표시 중지
태그워드프레스는 불필요한 로트를 자동으로 생성합니다.<p></p>
어디에나 태그를 붙입니다.심지어img
태그도 이것들에 의해 감겨집니다.<p>
그래서 사이트에 불필요한 공백 공간을 만듭니다.태그를 제거하기 위해 여러 가지 방법을 시도했습니다.-
preg_replace(array('<p>','</p>'),array('',''),the_content(),1);
remove_filter( 'the_content', 'wpautop' );
preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content)
난 아무것도 안 먹혀.먼저 왜 그 태그가 자동으로 생성되는지 알고 싶습니다.어떻게 하면 고칠 수 있을까요?
Wordpress Visual Editor 자체에서 새 줄에 대한 태그를 만듭니다.
필터를 제거해 볼 수 있습니다.the_excerpt
또는the_content
remove_filter( 'the_content', 'wpautop' );
// OR
remove_filter( 'the_excerpt', 'wpautop' );
가끔 안 될 때가 있어요(과거에는 안 먹혔어요).PHP에서는 사용할 수 없습니다.
Javascript/jQuery를 사용하여 이 코드를 DOM 로드 후 또는 닫기 전에 배치할 수 있습니다.</body>
태그를 붙입니다.
jQuery('p:empty').remove();
빈칸을 모두 삭제합니다.<p></p>
모든 문서의 요소에서 추출합니다.
이 플러그인을 사용해 볼 수 있습니다.
http://wordpress.org/plugins/raw-html/
그렇지 않으면 테마의 기능에서 이를 사용할 수 있습니다.php 파일
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
를 실행해야 합니다.remove_filter
에서 기능하다after_setup_theme
그 이유는 나중에 내용이나 발췌에 의해 오버런될 수 있기 때문입니다.따라서 다음과 같이 함수를 사용할 수 있습니다.
function remove_the_wpautop_function() {
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
}
add_action( 'after_setup_theme', 'remove_the_wpautop_function' );
WP 관리자의 테마 편집 영역으로 이동합니다.
이 코드를 함수에 추가합니다.php 파일을 저장하고 저장합니다.
<?php
function my_formatter($content) {
$new_content = '';
$pattern_full = '{(\[raw\].*?\[/raw\])}is';
$pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach ($pieces as $piece) {
if (preg_match($pattern_contents, $piece, $matches)) {
$new_content .= $matches[1];
} else {
$new_content .= wptexturize(wpautop($piece));
}
}
return $new_content;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'my_formatter', 99);
?>
투고/페이지를 쓸 때 [raw][/raw] 태그를 사용하여 포맷하지 않을 투고/페이지 부분을 둘러싸십시오.
또는
<?php the_content(); ?>
바로 위에 배치합니다.
<?php remove_filter ('the_content', 'wpautop'); ?>
다음과 같이 표시됩니다.
<?php remove_filter ('the_content', 'wpautop'); ?>
<?php the_content(); ?>
WordPress에는 자동을 비활성화하는 플러그인이 많이 있습니다.또는 다음 필터를 사용하여 자동을 제거할 수 있습니다.
remove_filter( 'the_content', 'wpautop' );
단, wp-editor에서 콘텐츠를 스타일링 및 포맷해야 하는 경우 자동을 삭제하면 포맷할 수 없습니다.
자동 기능을 계속 사용하지만 빈 p 태그를 제거하려면 jQuery를 사용합니다.
다음 코드를 사용하여 불필요한 빈 p 태그를 제거할 수 있습니다.
jQuery(document).ready(function(){
$ = jQuery;
$('p').each(function() {
var $this = $(this);
if($this.html().replace(/\s| /g, '').length == 0)
$this.remove();
});
});
$content = preg_replace('#^<\/p>|<p>$#', '', $content);
echo do_shortcode($content);
숏코드로 써보니까 잘 되더라고요.
이거면 될 것 같은데...
function my_format_TinyMCE( $in ) {
$in['wpautop'] = false;
return $in;
}
add_filter( 'tiny_mce_before_init', 'my_format_TinyMCE' );
언급URL : https://stackoverflow.com/questions/22710524/stop-wordpress-automatically-showing-p-p-tags
'source' 카테고리의 다른 글
스프링 데이터 JPA를 사용하여 열 하나를 선택합니다. (0) | 2023.03.23 |
---|---|
GROUP BY는 어떻게 작동합니까? (0) | 2023.03.23 |
jQuery ajax 응답 html로 div 업데이트 (0) | 2023.03.23 |
Ajax 호출 완료 후 함수 실행 (0) | 2023.03.23 |
반응 테스트: 대상 컨테이너가 DOM 요소가 아닙니다. (0) | 2023.03.23 |