1

誰かが私を助けてくれることを願っています。

Wordpress をインストールした Web サイトで作業しています。フロントページには、pageID を持つ別のページから最初の 10 単語を出力する小さな div があります。現時点ではほとんど機能していますが、10 ワードではなく 10 文字でロードしています。

例:
代わりに: Hello my name is Erwin and this is a test
読み込みます: Hello my nam

私は何を間違っていますか?

functions.php で次の php を使用します。

if(!function_exists('getPageContent'))
{
    function getPageContent($pageId,$num_words)
    {
        if(!is_numeric($pageId))
        {
            return;
        }
        global $wpdb;
        $nsquery = 'SELECT DISTINCT * FROM ' . $wpdb->posts .
        ' WHERE ' . $wpdb->posts . '.ID=' . $pageId;
        $post_data = $wpdb->get_results($nsquery);
        if(!empty($post_data))
        {
            foreach($post_data as $post)
            {
                $text_out=nl2br($post->post_content);
                $text_out=str_replace(']]>', ']]>', $text_out);
                $text_out = strip_tags($text_out);
                return substr($text_out,0,$num_words);

            }
        }
    }}



そして、次の文字列を使用してコンテンツを読み込みます:
(89 はページ ID です)

echo getPageContent(89,10);
4

4 に答える 4

1

これにより、文字列の最初の 10 単語が抽出されます

$text_out = "Hello my name is Erwin and this is a test and this is another test";
$num_words = 10;
echo implode(' ', array_slice(explode(' ', $text_out), 0, $num_words));

出力

Hello my name is Erwin and this is a test
于 2013-04-08T09:47:53.067 に答える
0

ここ$num_words = 10

substr文字列を文字から切り離すことを意味します0 to 10

文字列全体が必要な場合は、エコーする必要があります

echo getPageContent(89,32);
于 2013-04-08T10:44:20.863 に答える
0

wordpressの機能があります:

the_excerpt();

正確にそれを行います。それは...記事またはページの抜粋と最後にリンクを示しています。the_excerpt($length)関数を少し変更する引数を使用して長さをカスタマイズできます。

ソース: http://codex.wordpress.org/Function_Reference/the_excerpt

于 2013-04-08T09:51:23.193 に答える