カスタム関数を使用して、許可された文字数を示す引数に基づいてテキストを切り捨てています。これが私のコードです:
function bm_best_excerpt($length, $ellipsis, $content) {
$text = $content;
$text = strip_tags($text);
$text = substr($text, 0, $length);
$text = substr($text, 0, strripos($text, " "));
$text = $text.$ellipsis;
return $text;
}
どのページでも、Wordpress カスタム フィールド (テキストの文字列を含む) を取得し、次のようにこの関数を実行することで、テキストを切り詰めることができます。
<?php $excerpt = get_field('long_description'); ?>
<p><?php echo bm_best_excerpt(70, ' ... ', $excerpt); ?></p>
これはうまく機能し、 の最初の 70 文字が表示されます$excerpt
。この関数を変更したいので、最初にタイトル (説明の上) の文字数をカウントしてから、残りの文字をこの説明に使用します。
これを説明するために、合計 80 文字を許可したいとします。私のRAW HTMLは以下の通りです:
これはかなり長いタイトルですこれは説明の後にいくつかの Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut Labore et dolore magna aliqua が続きます.
タイトルと説明の間の合計文字数を 80 にしたいのですが、タイトルは 35 文字なので、説明には 45 文字が残ります。
上記の関数をどのように変更して、追加のコンテンツ変数を (引数として) カウントし、次に に対して減算できるようにし$length
ますか? 関数を次のようにしたいと思います。
function bm_best_excerpt($length, $ellipsis, $content1, $content2) {
$content1
タイトルと$content2
説明はどこにありますか