0

そのため、抜粋を処理する関数を作成しましたが、フロントページ用です。

http://stevefleming.co.uk/

そして機能は…

function excerpt_filter2($limit) {

$content = get_the_content();
$content = preg_replace("/<img[^>]+\>/i", "", $content);
$excerpt = explode(' ', $content, $limit);
if (count($excerpt)>=$limit) {
    array_pop($excerpt);
    $excerpt = implode(" ",$excerpt) . "...&nbsp;<a href='". get_permalink(the_ID()) ."'> continue reading</a>";
} else {
    $excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
echo $excerpt;
}

問題は、フロント ページでわかるように、投稿 ID をテキストの先頭に追加し続けることです。

私はコードをデバッグしようとし、id が何らかの形で配列に配置されていないことを確認するために implode が呼び出される直前に $excerpt 配列をダンプしました...そうではありませんでした。

投稿IDがどのようにそこに到達するのか途方に暮れています。

何か案は?

スティーブ

4

2 に答える 2

2

関数the_ID()は自動的に結果を出力します。この行を変更します。

$excerpt = implode(" ",$excerpt) . "...&nbsp;<a href='". get_permalink(the_ID()) ."'> continue reading</a>";

に:

$excerpt = implode(" ",$excerpt) . "...&nbsp;<a href='". get_permalink(get_the_ID()) ."'> continue reading</a>";

詳細については、コーデックスを確認してください。通常、Wordpress には、次の形式で結果を出力しない代替関数がありますget_*

于 2013-02-05T07:59:51.457 に答える
0

ここにあなたのコード

$excerpt = implode(" ",$excerpt) . "...&nbsp;<a href='". get_permalink(the_ID()) ."'> continue reading</a>";

あなたが使用している

the_ID()

それは投稿のIDを取得するので、変更してみてください

get_the_ID()

これがあなたが直面していることを願っています。:) 乾杯

于 2013-02-05T08:02:14.173 に答える