빈칸을 제거하다
php functon을 통해 wordpress 쇼트 코드에서 태그 생성
제거할 php 함수(non-jQuery 또는 wpautop 수정) 접근 방식을 찾고 있습니다.<p></p>
워드프레스 내에서.
시도했지만 작동하지 않습니다.
function cleanup_shortcode_fix($content) {
$array = array (
'<p>[' => '[',
']</p>' => ']',
']<br />' => ']',
']<br>' => ']'
);
$content = strtr($content, $array);
return $content;
}
add_filter('the_content', 'cleanup_shortcode_fix');
이 코드를 삽입해 보십시오.functions.php
파일:
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop', 99 );
add_filter( 'the_content', 'shortcode_unautop', 100 );
add_filter('the_content', 'cleanup_shortcode_fix', 10);
10을 우선순위로 지정하면 효과가 있고, 다른 번호는 사용할 수 없습니다.
오래된 질문이지만 오늘 이 문제를 해결하고 공유하려고 합니다.
저 같은 경우에는 기본적으로 포맷 불량품을 모두 제거하고 싶습니다.<p>
그리고.<br>
태그가 올바르게 추가되면 쇼트코드의 텍스트 형식이 올바르게 지정됩니다.
/*
* Half column shortcode
*/
function custom_shortcode_half_column( $atts, $content = '') {
$content = custom_filter_shortcode_text($content);
return '<div class="half-column">'. $content .'</div>';
}
add_shortcode( 'half-column', 'custom_shortcode_half_column' );
/*
* Utility function to deal with the way WordPress auto formats text in a shortcode.
*/
function custom_filter_shortcode_text($text = '') {
// Replace all the poorly formatted P tags that WP adds by default.
$tags = array("<p>", "</p>");
$text = str_replace($tags, "\n", $text);
// Remove any BR tags
$tags = array("<br>", "<br/>", "<br />");
$text = str_replace($tags, "", $text);
// Add back in the P and BR tags again, remove empty ones
return apply_filters('the_content', $text);
}
이것이 Word Press가 Shortcode $content 파라미터를 해석하는 기본 방식이라고 생각합니다.
regex가 작동할 수 있습니다.
$string=preg_replace_('/<p>\s*</p>/', '', $string);
그것이 모든 것을 대체할 것이다.<p></p>
아무것도, 또는 그냥 흰자리가 없는 상태로 만들어 버리기 때문에, 그래서 그들을 제거합니다.
HTML 코드에 regex를 적용할 경우,\r\n
먼저 HTML을 사용할 수 있습니다. 정규식이 작동하지 않도록 하기 때문입니다.
필터의 우선순위를 높여야 합니다.
이거면 될 것 같아
add_filter('the_content', 'cleanup_shortcode_fix', 1);
제거할 수 있습니다.
태그 입력
<?php echo $post->post_content; ?>
content() 대신
필요한 것은 jquery와 php를 혼합한 것입니다.그게 유일한 방법이야
일을 잘 하고 있다는 걸 알게 됐어요제 사이트에 튜토리얼이 있는데
사내에서 물건을 보관하기 위해
jQuery:
이미 큐에 넣은 일부 JS 파일에 포함
jQuery(function($){
$('div#removep > p').filter(function() {
return $.trim($(this).text()) === '' && $(this).children().length == 0
})
.remove()
})
나중에 사용할 수 있는 쇼트 코드:
사용할 수 있습니다.php 또는 포함된 파일
function sght_removep( $atts, $content = null ) {return '<div id="removep">'.do_shortcode($content).'</div>';}
add_shortcode('removep', 'sght_removep');
이제 다음과 같이 구체적인 내용을 정리할 수 있습니다.
[removep]
Some text i write directly in wordpress wysiwyg
<p></p> <-- this would get removed
[/removep]
이 솔루션에는 방법을 알고 있는 사람이 필요하지만, 동작하고 있습니다.
이게 도움이 되길...
언급URL : https://stackoverflow.com/questions/13510131/remove-empty-p-tags-from-wordpress-shortcodes-via-a-php-functon
'IT' 카테고리의 다른 글
프로젝트에서 "를 참조하지 않습니다.NETFramework, Version=v4.5" 프레임워크. (0) | 2023.03.14 |
---|---|
Angular ui-router 라이프 사이클이란 무엇입니까(사일런트 오류 디버깅용) (0) | 2023.03.14 |
"클래스 WP_Post 개체를 문자열로 변환할 수 없습니다" 가져오기 - 문자열인 경우 (0) | 2023.03.14 |
woocommerce_merce_update_order_merce 액션이 작동하지 않습니다. (0) | 2023.03.14 |
Word press 이동 후 로그인은 가능하지만 관리자 접근은 더 이상 (0) | 2023.03.14 |