替换元值

时间:2019-08-10 23:18:37

标签: php wordpress

我搜索了一段时间,尝试了几种方法,但没有找到任何解决方案。因此,我有以下字符串,可获取costum字段的状态以导出到其他网站。

<category><![CDATA[<?php listingpress_listing_status(); ?>]]></category>

它输出如下内容:

<category><![CDATA[For sale]]></category>

我需要将这个值转换为数字。

例如:

出售»100

出租»110

已售»120

这是原始功能:

if ( ! function_exists( 'listingpress_listing_status' ) ) :
/**
 * Prints listing status
 *
 * @since ListingPress 1.0
 *
 * @uses listingpress_get_listing_status() To get listing status
 */
function listingpress_listing_status() {
    echo listingpress_get_listing_status( 'name' );
}
endif; // listingpress_listing_status

    if ( ! function_exists( 'listingpress_get_listing_status' ) ) :

    function listingpress_get_listing_status( $fields = 'name' ) {
        global $meta_prefix, $post;

        if ( of_get_option( 'enable_listing_status', true ) ) {
            $status = get_post_meta( $post->ID, $meta_prefix . 'status', true );

            if ( $status == 'sold' ) {

                if ( $fields == 'name' )
                    return __( 'Sold', 'listingpress' );
                elseif ( $fields == 'slug' )
                    return 'sold';

            } elseif ( $status == 'for-sale' ) {

                if ( $fields == 'name' )
                    return __( 'For sale', 'listingpress' );
                elseif ( $fields == 'slug' )
                    return 'for-sale';

            } elseif ( $status == 'for-rent' ) {

                if ( $fields == 'name' )
                    return __( 'For rent', 'listingpress' );
                elseif ( $fields == 'slug' )
                    return 'for-rent';

            }
        } else {
            return 'no-status';
        }
    }
    endif; // listingpress_get_listing_status

有人可以帮我吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

因此,基本上,您可以执行以下操作:

<?php
    $listing_status = '';
    if(listingpress_listing_status() == 'For sale') {
        $listing_status = 100;
    } elseif(listingpress_listing_status() == 'For rent') {
        $listing_status = 110;
    } elseif(listingpress_listing_status() == 'For rent') {
        $listing_status = 120;
    } else {
        $listing_status = listingpress_listing_status();
    }
?>
<category><![CDATA[<?php echo $listing_status; ?>]]></category>

一个建议,从一开始就直接与代码共享问题,以便您更快地获得帮助。