WordPress PHP 'printf' дает два значения - PullRequest
0 голосов
/ 23 июня 2018

Я использую WordPress 4.9.6 с плагином BuddyPress и BuddyPress XProfile.
XProfile получает местоположение пользователя и возвращает его в виде гиперссылки в их профиле для поиска на остальной части сайта с тем же тегом местоположения.

Проблема, которую я получаю, заключается в том, что PHP-скрипт возвращает местоположение плюс число, которое меняется между 69, 76 и 22.

Это код, который я запускаю, чтобы получитьрасположение:

    /**
     * Modify the appearance of value.
     *
     * @param  string $field_value Original value of field.
     * @param  int    $field_id Id of field.
     *
     * @return string   Value formatted
     */
    public static function display_filter( $field_value, $field_id = 0 ) {

        if ( empty( $field_value ) ) {
            return;
        }

        $term_id = absint( $field_value );
        $tax = self::get_selected_taxonomy( $field_id );

        $term = get_term( $term_id, $tax );
        if ( ! $term || is_wp_error( $term ) ) {
            return '';
        }

        return  printf( '<a href="%1$s">%2$s</a>', esc_url( get_term_link( $term, $tax ) ), esc_html( $term->name ) );

    }

    /**
     * Get the terms content.
     *
     * @param int $field_id field id.
     *
     * @return string
     */
    public static function get_selected_taxonomy( $field_id ) {

        if ( ! $field_id ) {
            return '';
        }

        return bp_xprofile_get_meta( $field_id, 'field', 'selected_taxonomy',  true );
    }
}

Я изменил с sprintf на printf, так как он возвращал полный HTML-код.После перехода на printf произошла эта ошибка.

Какую часть мне нужно изменить или удалить, чтобы потерять генерируемый тег номера, пожалуйста?

Это скриншот тега плюс номер под ним

...