code

p 태그 쇼트 코드의 내용 워드프레스 형식 지정

starcafe 2023. 3. 14. 21:47
반응형

p 태그 쇼트 코드의 내용 워드프레스 형식 지정

몇 번이고 물어봤을 거란 걸 알지만, 제가 찾을 수 있는 여러 가지 해결책을 시도해 봤지만 효과가 없는 것 같아요.

나는 가지고 있다shortcode콘텐츠를 정리합니다.

[important_note]Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Nam vel velit at ex congue aliquet.[/important_note]

다음 쇼트 코드 기능을 사용하고 있습니다.functions.php:

function important_note( $atts, $content = null ) {
    return '<div class="imp-note">'.$content.'</div>';
}
add_shortcode("important_note", "important_note");

결과 html 코드는 다음과 같습니다.

<div class="imp-note">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    <p></p>
    <p>Nam vel velit at ex congue aliquet.</p>
</div>

주요 이슈는 빈 공간입니다.<p>여기서 설명한 솔루션을 사용하여 해결하려고 합니다: php functonGithub통해 워드프레스 쇼트코드에서 빈 <p> 태그를 삭제하지만 이것이 해결되는 것처럼 보입니다.<p>랩핑shortcode의 내용이 아닙니다.shortcode.

맨 앞줄에 아무것도 없는 것<p>랩핑도 조금 이상해서 쇼트코드 기능에 코드를 추가해야 한다고 생각합니다.

아무쪼록 잘 부탁드립니다.

갱신하다

네, 이 코드는 효과가 있는 것 같습니다.

remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 99);
add_filter( 'the_content', 'shortcode_unautop',100 );

여기와 같이 http://www.paulund.co.uk/remove-line-breaks-in-shortcodes 및 https://stackoverflow.com/a/21460343/1275525 (wpautop()을 숏코드로만 콘텐츠 삭제)

그리고 쇼트코드의 내용은 위에서 설명한 바와 같이 다음과 같아야 합니다.

[important_note]
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nam vel velit at ex congue aliquet.
[/important_note]

내용은 쇼트 코드 태그와는 별개입니다.이 쇼트 코드는, 다음의 html 를 출력합니다.

<div class="imp-note">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Nam vel velit at ex congue aliquet.</p>
</div>

모든 쇼트 코드에서 동작하는지 확인합니다.

질문의 "Update this bit of code"에서 언급했듯이functions.php다음과 같은 이점이 있습니다.

remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 99);
add_filter( 'the_content', 'shortcode_unautop',100 );

이 질문의 답변에서 알 수 있듯이 https://stackoverflow.com/a/21460343/1275525 및 이 게시물 http://www.paulund.co.uk/remove-line-breaks-in-shortcodes (아래로 "Wpautop() 삭제"를 참조하십시오.

쇼트 코드의 내용을 쇼트 코드 태그와 분리하는 것도 중요합니다.그렇지 않으면 첫 번째 행은 로 둘러싸여 있지 않습니다.<p>태그:

[important_note]
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nam vel velit at ex congue aliquet.
[/important_note]

HTML 출력:

<div class="imp-note">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Nam vel velit at ex congue aliquet.</p>
</div>

WordPress 사이트의 쇼트 코드를 확인했는데 모두 올바른 포맷을 가지고 있습니다.이것이 몇 가지 도움이 되기를 바랍니다.

이거 먹어봤어?

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

상세한 것에 대하여는, http://codex.wordpress.org/Function_Reference/wpautop 를 참조해 주세요.

또한 이 기능을 함수에 추가할 수 있습니다.php 파일

add_filter('the_content', 'remove_empty_p', 20, 1);
function remove_empty_p($content){
    $content = force_balance_tags($content);
    return preg_replace('#<p>\s*+(<br\s*/*>)?\s*</p>#i', '', $content);
}

언급URL : https://stackoverflow.com/questions/29862732/p-tag-formatting-in-shortcodes-content-wordpress

반응형