2

これを機能させようとしていますが、このような変数を渡すことさえ可能ですか?

function excerpt_read_more($output, $text) {
    global $post;
    return $output . '<a href="'. get_permalink($post->ID) . '" class="readmore">'.$text.'</a>';
}
add_filter('the_excerpt', 'excerpt_read_more');

私はこのようなことができるようにしようとしています

<?php the_excerpt('Read More...'); ?>

サイト全体でさまざまなことを言ってもらいたいので。たとえば、この投稿を読み、投稿を読み続け、このレシピを表示します。

4

1 に答える 1

2

フィルターthe_excerptには引数が 1 つしかないため、あなたが試みていることは不可能です。

1 つのオプションは、グローバル変数を使用することです。

function excerpt_read_more( $output ) {
    global $post, $my_read_more;
    return $output 
        . '<a href="'
        . get_permalink( $post->ID ) 
        . '" class="readmore">' 
        . $my_read_more 
        . '</a>';
}
add_filter( 'the_excerpt', 'excerpt_read_more' );

そして、次のように関数を呼び出します。

<?php
global $my_read_more;
$my_read_more='read this post'; 
the_excerpt();
?>

<?php
global $my_read_more;
$my_read_more='view this recipe'; 
the_excerpt();
?>

別の解決策は、カスタム フィールドを使用することです:続きを読むリンクをカスタマイズする方法

そして使いやすさのために、すべての「続きを読む」オプションを含むメタボックスを作成します。これは、投稿の公開時に定義されます:タイトルにクラスを追加する投稿画面にチェックボックスを追加します

于 2013-02-22T01:30:59.577 に答える