-3

数字の前に文字列を挿入するにはどうすればよいですか?

私は次のWordpress機能を持っています:

get_the_term_list( $post->ID, 'level', '', ', ', '' )

この関数は、次のような数値を出力します。

<a href="#">1</a>

または、データベースに複数のエントリがある場合:

<a href="#">1</a>, <a href="#">2</a>

番号の前に「レベル」を挿入するにはどうすればよいですか?次のようになります。

<a href="#">level 1</a>

または:

<a href="#">level 1</a>, <a href="#">level 2</a>
4

4 に答える 4

4

関数リファレンス/用語リストの取得

ワープレスのマニュアルは正確にその方法を教えてくれます。

私はワードプレスを使用していませんが、「worpressget_the_term_list」をゴーグルして見つけました

于 2012-11-08T21:05:22.657 に答える
2

あなたは単に数を一致させます。正規表現\d+では、小数に使用できます。

 $text = preg_replace('#>(\d+)<#', '>level $1<', $text);

そして、あなたはただアンカー>を使うことができます。<ここで$1、見つかった小数を再挿入します。

于 2012-11-08T21:05:36.967 に答える
0

これがあなたがそれをする方法です:

get_the_term_list( $post->ID, 'level', 'Level: ', ', ', '' );

参照:http ://codex.wordpress.org/Function_Reference/get_the_term_list

編集:

に編集get_the_term_list_wp-includes/category-template.php

/**
 * Retrieve a post's terms as a list with specified format.
 *
 * @since 2.5.0
 *
 * @param int $id Post ID.
 * @param string $taxonomy Taxonomy name.
 * @param string $before Optional. Before list.
 * @param string $sep Optional. Separate items using this.
 * @param string $after Optional. After list.
  * @param string $beforeEach Optional. After each term.
 * @return string
 */
function get_the_term_list( $id, $taxonomy, $before = '', $sep = '', $after = '', $beforeEach = '' ) {
    $terms = get_the_terms( $id, $taxonomy );

    if ( is_wp_error( $terms ) )
        return $terms;

    if ( empty( $terms ) )
        return false;

    foreach ( $terms as $term ) {
        $link = get_term_link( $term, $taxonomy );
        if ( is_wp_error( $link ) )
            return $link;
        $term_links[] = '<a href="' . esc_url( $link ) . '" rel="tag">'. $beforeEach . $term->name . '</a>';
    }

    $term_links = apply_filters( "term_links-$taxonomy", $term_links );

    return $before . join( $sep, $term_links ) . $after;
}

使用法:

get_the_term_list( $post->ID, 'level', '', ', ', '', 'Level: ');
于 2012-11-08T21:06:52.440 に答える
0

これらをテストします。オフセット、位置番号を微調整する必要があるかもしれません。これにより、99%がそこに到達します。

$ numPos = strpos($ string、 "1");

$ firstStr = substr($ string、0、$ pos); $ secondStr = substr($ string、$ pos);

$ newStr =$firstStr。"レベル" 。$ secondStr;

于 2012-11-08T21:10:25.073 に答える