source

자동으로 WordPress 표시 중지자동으로 WordPress 표시 중지태그태그

ittop 2023. 3. 23. 23:11
반응형

자동으로 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|&nbsp;/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

반응형