Wordpress摘录字符限制主题wpexplorer今日主题

时间:2018-03-09 15:08:37

标签: wordpress wordpress-theming

我需要帮助修复今天http://wpexplorer-demos.com/today/page/2/主题。

frontpage Boxes采用随机大小。我如何从单词到字符修复它。还有图片。任何帮助PLZ真的很感激。我不是编码员。

/**
 * Custom excerpts based on wp_trim_words
 * Created for child-theming purposes
 * 
 * @link  http://codex.wordpress.org/Function_Reference/wp_trim_words
 * @since 1.0.0
 */
function wpex_excerpt( $length = 45, $readmore = false ) {

    // Get global post data
    global $post;

    // Check for custom excerpt
    if ( has_excerpt( $post->ID ) ) {
        $output = $post->post_excerpt;
    }

    // No custom excerpt...so lets generate one
    else {

        // Redmore text
        $readmore_text = get_theme_mod( 'entry_readmore_text', esc_html__( 'read more', 'today' ) );

        // Readmore link
        $readmore_link = '<a href="'. get_permalink( $post->ID ) .'" title="'. $readmore_text .'">'. $readmore_text .'<span class="wpex-readmore-rarr">&rarr;</span></a>';

        // Check for more tag and return content if it exists
        if ( strpos( $post->post_content, '<!--more-->' ) ) {
            $output = get_the_content( '' );
        }

        // No more tag defined so generate excerpt using wp_trim_words
        else {

            // Generate excerpt
            $output = wp_trim_words( strip_shortcodes( get_the_content( $post->ID ) ), $length );

            // Add readmore to excerpt if enabled
            if ( $readmore == true ) {
                $output .= apply_filters( 'wpex_readmore_link', $readmore_link );
            }

        }

    }

    // Apply filters and echo
    echo apply_filters( 'wpex_excerpt', $output );

}

1 个答案:

答案 0 :(得分:0)

我为你编辑了它:

**
 * Custom excerpts based on wp_trim_words
 * Created for child-theming purposes
 * 
 * @link  http://codex.wordpress.org/Function_Reference/wp_trim_words
 * @since 1.0.0
 */
function wpex_excerpt( $length = 45, $readmore = false ) {

    // Get global post data
    global $post;

   $max_characters = 40;

    // Check for custom excerpt
    if ( has_excerpt( $post->ID ) ) {
        $output = mb_strimwidth($post->post_excerpt, 0, $max_characters, '...');
    }

    // No custom excerpt...so lets generate one
    else {

        // Redmore text
        $readmore_text = get_theme_mod( 'entry_readmore_text', esc_html__( 'read more', 'today' ) );

        // Readmore link
        $readmore_link = '<a href="'. get_permalink( $post->ID ) .'" title="'. $readmore_text .'">'. $readmore_text .'<span class="wpex-readmore-rarr">&rarr;</span></a>';

        // Check for more tag and return content if it exists
        if ( strpos( $post->post_content, '<!--more-->' ) ) {
  $output = mb_strimwidth(get_the_content( '' ), 0, $max_characters, '...');
        }

        // No more tag defined so generate excerpt using wp_trim_words
        else {

            // Generate excerpt
            $output_to_trim = wp_trim_words( strip_shortcodes( get_the_content( $post->ID ) ), $length );
$output = mb_strimwidth($output_to_trim, 0, $max_characters, '...');    
            // Add readmore to excerpt if enabled
            if ( $readmore == true ) {
                $output .= apply_filters( 'wpex_readmore_link', $readmore_link );
            }

        }

    }

    // Apply filters and echo
    echo apply_filters( 'wpex_excerpt', $output );

}

您可以通过更改 $ max_characters 变量中的数字来更改此代码中的字符数。

我使用了 mb_strimwidth()函数并将其返回到 $ output 变量:https://secure.php.net/manual/pl/function.mb-strimwidth.php

通过示例,你应该了解发生了什么:

 <?php
echo mb_strimwidth("Hello World", 0, 10, "...");
// outputs Hello W...
?>

该函数需要字符串,如“Hello World”,字符串的开头(如0),最大字符数(如10),最后您可以选择好的结束摘录(如...)。