在默認情況下WordPress文章中的中、英文、數字間是沒有空格的,除非自己一個個敲上去,但是我們都知道在中文與英文、中文和數字之間加上空格的排版會更加好看,觀感和閱讀上顯得更加分明,也就是說整體的排版會更加的好看。但是如果在編寫文章的時候我們一個個的添加上去,就會顯得特別的繁瑣和降低編輯或寫作效率了,感覺非常繁瑣。所以今天就來跟大家介紹一下WordPress如何實現中英文數字之間自動加空格的排版技巧。
在當前主題 functions.php 文件中添加以下代碼即可:
//文章中英文數字間自動添加空格(寫入數據庫)add_filter( 'wp_insert_post_data', 'fanly_post_data_autospace', 99, 2 );function fanly_post_data_autospace( $data , $postarr ) {$data['post_title'] = preg_replace('/([/x{4e00}-/x{9fa5}]+)([A-Za-z0-9_]+)/u', '${1} ${2}', $data['post_title']);$data['post_title'] = preg_replace('/([A-Za-z0-9_]+)([/x{4e00}-/x{9fa5}]+)/u', '${1} ${2}', $data['post_title']);$data['post_content'] = preg_replace('/([/x{4e00}-/x{9fa5}]+)([A-Za-z0-9_]+)/u', '${1} ${2}', $data['post_content']);$data['post_content'] = preg_replace('/([A-Za-z0-9_]+)([/x{4e00}-/x{9fa5}]+)/u', '${1} ${2}', $data['post_content']);return $data;}
上面的代碼的功能主要用于在WordPress后臺編輯時執行,也就是當我們發布、更新、保存文章的時候就會自動執行,寫入數據庫的內容都將是自動添加了空格的,并且處理的對象為文章標題與文章內容。也就是說只對新發布的文章生效,當然你也可以批量的更新一下文章也是可以生效的。
當然為了更加良好的兼容性或者另外一種方法,還提供了另外一種方法,就是不直接在寫入數據庫前執行,而是當WordPress輸出文章內容的時候執行,代碼如下:
//文章中英文數字間自動添加空格(不寫入數據庫)add_filter( 'the_content','fanly_post_content_autospace' );function fanly_post_content_autospace( $data ) {$data = preg_replace('/([/x{4e00}-/x{9fa5}]+)([A-Za-z0-9_]+)/u', '${1} ${2}', $data);$data = preg_replace('/([A-Za-z0-9_]+)([/x{4e00}-/x{9fa5}]+)/u', '${1} ${2}', $data);return $data;}
這樣的方式就是當前端顯示的內容時才會執行自動給中英文數字間添加空格,其它地方是不會別執行的,同時只針對文章內容生效,文章標題無法被格式化。
兩種方法方法都能實現WordPress文章排版實現中中、英文、數字間自動添加空格,大家可以根據自己的需求選擇適合自己的。
以上就是#WordPress小教程#文章排版實現中、英文、數字間自動添加空格的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。新聞熱點
疑難解答
圖片精選