Wsparcie » Wtyczki » wp get post – kodowanie

  • Witam. Wgrałem wtyczkę get post(http://wordpress.org/extend/plugins/get-post/). Niestety w tytułach zamiast polskich znaków są krzaczki… Co dziwnego treść wyświetla normalnie.. proszę o pomoc.. z góry thx

    kod wtyczki

    <?php<br />
    if (!class_exists('JamesGetPost'))<br />
    {<br />
    	class JamesGetPost<br />
    	{<br />
    		function JamesGetPost()<br />
    		{<br />
    		}</p>
    <p>		function get_post($tag='')<br />
    		{<br />
    			global $wp_query, $post, $id;<br />
    			$temp_query = clone $wp_query;<br />
    			$temp_post = clone $post;<br />
    			$temp_id = $id;<br />
    			$tag=htmlentities($tag);<br />
    			$myq = new WP_Query("tag=$tag&showposts=1");<br />
    			if ( $myq->have_posts() ) while ( $myq->have_posts() )<br />
    			{<br />
    				$myq->the_post();<br />
    				$pc='';<br />
    				$pc='<div class="post" id="post-'.$post->ID.'">';<br />
    				$pc.='<h2><a href="'.get_permalink().'" rel="bookmark">'.htmlentities($post->post_title).'</a></h2>';<br />
    				$pc.=$post->post_date;<br />
    				$pc.='<div class="entry">';<br />
    				$pc.=$post->post_content;<br />
    				$pc.='</div>';<br />
    				$pc.='</div>';<br />
    			}<br />
    			$wp_query = clone $temp_query;<br />
    			$post = clone $temp_post;<br />
    			$id = $temp_id;<br />
    			return $pc;<br />
    		}</p>
    <p>		function read_params($params)<br />
    		{<br />
    			$re = '/tag="(?<tag>.+)"/';<br />
    			preg_match($re, $params, $matches);<br />
    			$tag = $matches['tag'];<br />
    			// Post content would be here<br />
    			return $this->get_post($tag);<br />
    		}<br />
    		function scan_content($content = '')<br />
    		{<br />
    			$re = '/(?<str>\[get\-post(?<params>.*)\])/';<br />
    			if (preg_match($re, $content, $matches))<br />
    			{<br />
    				$params = $matches['params'];<br />
    				$replace = $matches['str'];<br />
    				// Post content would be here<br />
    				$postcontent = $this->read_params($params);<br />
    				$content = str_replace($replace, $postcontent, $content);<br />
    			}<br />
    			return $content;<br />
    		}<br />
    	}</p>
    <p>}</p>
    <p>if (class_exists('JamesGetPost'))<br />
    {<br />
    	$getpostplugin = new JamesGetPost();<br />
    }</p>
    <p>if (isset($getpostplugin))<br />
    {<br />
    	add_filter('the_content', array($getpostplugin, 'scan_content'));<br />
    }</p>
    <p>?>

    kodowanie strony utf-8

Viewing 13 replies - 16 through 28 (of 28 total)
  • <?php the_content(); ?>
    zamień na
    <?php the_content('Przeczytaj resztę wpisu &raquo;'); ?>

    Thread Starter kidler

    (@kidler)

    próbowałem tego już wcześniej, ale spróbowałem teraz ponownie i normalnie wyświetla cały wpis a nie tylko jedną stronę…

    No to ja już nie wiem…
    Może po prostu edytuj plik index.php swojej skóry i tam powrzucaj wszystkie php-owe zapytania…

    Thread Starter kidler

    (@kidler)

    ale to jak do index.php wrzucę ten kod to on się chyba nie wyświetli bo jako str główna jest ustawiona strona o id 6??

    Wyświetli się. Jedno drugiego nie wyklucza. Znajdź w index.php:

    <?php endif; ?>
    </div>

    i zaraz po tym dodaj:

    <div id="post-2" class="post">
    <?php $recent = new WP_Query("showposts=1"); while($recent->have_posts()) : $recent->the_post();?>
    
    <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
    <?php the_content('Przeczytaj resztę wpisu &raquo;'); ?>
    <p align="center">Zapisany w <?php the_category(', ');  ?>  | <?php comments_number('Brak komentarzy', '1 komentarz', 'komentarzy: %'); ?></p>
    <?php endwhile; ?>
    </div>

    I deaktywuj wtyczkę Exec-PHP.

    Thread Starter kidler

    (@kidler)

    nie działa.. tzn… wpis się nie wyświetla…

    a dodanie
    <?php rewind_posts(); ?>
    pomiędzy pętle nie pomaga?

    Thread Starter kidler

    (@kidler)

    też nie wyświetla xP

    brak pomyślunku od autora wtyczki…

    zmień:

    $tag=htmlentities($tag);<br />

    na:

    $tag=htmlentities($tag, ENT_NOQUOTES, 'utf-8');

    oraz tytuł:

    htmlentities($post->post_title)

    na:

    htmlentities($post->post_title, ENT_NOQUOTES, 'utf-8')

    Thread Starter kidler

    (@kidler)

    dzięki wielkie działa… ale to gdzie wstawić:

    global $more;
                $more = 0;

    żeby wtyczka wyświetlała tylko 1 stronę wpisu…

    Gdzieś na początku 🙂

    Thread Starter kidler

    (@kidler)

    już pomysłów mi brakuje 🙁

    <?php
    global $more;
                $more = 0;
    if (!class_exists('JamesGetPost'))
    {
    global $more;
                $more = 0;
        class JamesGetPost
        {
            function JamesGetPost()
            {
            }
    
            function get_post($tag='')
            {
                global $wp_query, $post, $id, $more;
                $temp_query = clone $wp_query;
                $temp_post = clone $post;
                $temp_id = $id;
                $more = 0;
                $tag=htmlentities($tag, ENT_NOQUOTES, 'utf-8');
                $myq = new WP_Query("tag=$tag&showposts=1");
                if ( $myq->have_posts() ) while ( $myq->have_posts() )
                {
    
                    $myq->the_post();
                    $pc='<div class="post" id="post-'.$post->ID.'">';
                    $pc.='<h2><a href="'.get_permalink().'" rel="bookmark">'.htmlentities($post->post_title, ENT_NOQUOTES, 'utf-8').'</a></h2>';
                    $pc.='<div class="entry">';
                    $pc.=$post->post_content;
                    $pc.='</div>';
                    $pc.='</div>';
                }
                global $more;
                $more = 0;
                $wp_query = clone $temp_query;
                $post = clone $temp_post;
                $id = $temp_id;
                return $pc;
            }
    
            function read_params($params)
            {
                $re = '/tag="(?<tag>.+)"/';
                preg_match($re, $params, $matches);
                $tag = $matches['tag'];
                // Post content would be here
                global $more;
                $more = 0;
                return $this->get_post($tag);
                global $more;
                $more = 0;
            }
            function scan_content($content = '')
            {
                $re = '/(?<str>\[get\-post(?<params>.*)\])/';
                if (preg_match($re, $content, $matches))
                {
                    global $more;
                $more = 0;
                    $params = $matches['params'];
                    $replace = $matches['str'];
                    // Post content would be here
                    $postcontent = $this->read_params($params);
                    $content = str_replace($replace, $postcontent, $content);
                }
                return $content;
            }
        }
    
    }
    
    if (class_exists('JamesGetPost'))
    {
        $getpostplugin = new JamesGetPost();
    }
    
    if (isset($getpostplugin))
    {
        add_filter('the_content', array($getpostplugin, 'scan_content'));
    }
    
    ?>

    jest dobrze, grobal definiuje się po otwarciu funkcji… niestety odeślę cię do manuala bo jest najlepszy pod słońcem i księżycem: http://www.php.net/manual/pl/

Viewing 13 replies - 16 through 28 (of 28 total)
  • Temat ‘wp get post – kodowanie’ jest zamknięty na nowe odpowiedzi.