説明
パラメータ
- $left_string古い方の文字列を指定。
- $right_string新しい方の文字列を指定。
- $args取得条件を連想配列または文字列で指定(省略時はnull)。主なキーは次の通り。
キー 内容 省略時の値 'show_split_view' 比較結果を左右で表示する場合はtrueを指定 true 'title' 表全体のタイトルを指定 '' 'title_left' $left_stringのタイトルを指定 '' 'title_right' $right_stringのタイトルを指定 ''
返り値
文字列の違いを示すHTML(table要素)を返す。違いがない場合は空の文字列を返す。
注意
比較は行単位で行われ、左右比較モード('show_split_view'がtrue)では、以下のような内容になる。
| 違い | 左側 | 右側 |
|---|---|---|
| 古い方のみにある | td要素はdiff-deletedlineクラス | 空 |
| 新しい方のみにある | 空 | td要素はdiff-addedlineクラス |
| 内容が異なる | td要素はdiff-deletedlineクラス | td要素はdiff-addedlineクラス |
単一モード('show_split_view'がfalse)では、以下のような内容になる。
| 違い | 左側 |
|---|---|
| 古い方のみにある | td要素はdiff-deletedlineクラス |
| 新しい方のみにある | td要素はdiff-addedlineクラス |
| 内容が異なる | 1行目のtd要素はdiff-deletedlineクラス、2行目のtd要素はdiff-addedlineクラス |
なおパラメータ$argsに'title'、'title_left'、'title_right'のいずれかを指定するとthead要素内が4カラムになり、tbody要素内とカラム数が異なってしまい、意図した表示にならない(バージョン4.9.8で確認)。タイトルを付けたい場合は本関数を使用せず、本関数を参考にして独自に実装する方がいいだろう。
使用例
- 投稿とリビジョンの本文部分を比較し、結果を左右比較モードで表示する。<?php echo wp_text_diff( $revisions[0]->post_content, $post->post_content ); ?>
- 投稿とリビジョンの本文部分を比較し、結果を単一モードで表示する。<?php echo wp_text_diff( $revisions[0]->post_content, $post->post_content, array( 'show_split_view' => false ) ); ?>
フィルター
実行するフィルターはありません。アクション
実行するアクションはありません。ソースファイル
/wp-includes/pluggable.php最終更新 : 2018年08月27日 12:56
お勧め
カテゴリー専用の投稿一覧と新規投稿メニューを追加する(2012年1月23日 更新)
サイト更新の1クリックを省くため、特定カテゴリーの投稿に対して同じようにメニューを追加してみた。カスタム投稿タイプの専用投稿メニューみたいな感じである。ブロックエディターの文字サイズ設定を変えてみる(2019年12月12日 更新)
今回は「前回投稿した内容」の続きブロックエディターの文字サイズ設定を変えようと思う。参考にするテーマはもちろん「Twenty Twenty」である。
4.2で始まるiOSの絵文字ケア(2018年5月27日 更新)
WordPress 4.2のベータ1、ベータ2が立て続けにリリースされ、4.2の正式版リリースが近づいています。4.2のポイントの1つは絵文字のクロスブラウザ対応です。ここでの絵文字とは、UTF-8で4バイトのコードが割り当てられている(基本的にはiOSの)絵文字を指します。この絵文字を含んだ投稿が正しく保存できなかったり、iOS以外の環境で意図した通りに表示できないといった問題があり、4.2ではそのような問題を対処をコードが組み込まれています。
「不明な書式」って何ですか。(2024年11月13日 更新)
オートコンプリート機能を利用して四字熟語を挿入するプラグインを作った際、ツールバーに「不明な書式をクリア(Clear Unknown Formatting)」ボタンが表示されるようになった。この「書式」、何を指しているのかわからないんだが。
決まった値を返すだけの関数群(2018年5月27日 更新)
WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。