2012-01-06 8 views
0

私はthe_permalink()関数に夢中になります。これは問題を説明するのは簡単ではありませんが、私は試してみます。私が自分のウェブサイトのインデックスページ(index.php)にいるときに、フッターセクションにあるリンクをクリックすると、最近の投稿(single.php)に移動します。しかし、インデックスページ(index.php)から始め、ナビゲーションバーを使用して特定のページ(page.php)(index.phpと同じレイアウトになっています)にナビゲートしてから、フッタセクションにある同じリンクをクリックすると、最近の投稿(single.php)に移動するはずですが、そうではありません。これは、現在のページ(page.php)single.phpの代わりに私を連れて行っている。ここに私のコードの抜粋です:the_permalink();役に立たなかった

フッター:

<div id="clear"></div> 

     <div id="video"> 
      <!--<a href="http://www.youtube.com/watch?v=WYc4ZOxRX-4" target="_blank"><img src="<?php bloginfo('template_url'); ?>/images/video_03.png" alt="Video" border="0" width="263" height="193" title="Video" /></a>--> 
      <iframe width="263" height="208" src="http://www.youtube.com/embed/WYc4ZOxRX-4?rel=0" frameborder="0" allowfullscreen></iframe> 
     </div><!-- end of video --> 

     <div id="weeklyadbox"> 
      <p id="content"><a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/weeklyad.jpg" height="147" width="178" alt="Weekly Specials" border="0" title="Click to See Our Weekly Specials" /></a></p> 
     </div><!-- end of weeklyadbox --> 


     <div id="weathericon"> 
      <a href="<?php bloginfo("url"); ?>"><img src="<?php bloginfo('template_url'); ?>/images/icons_03.png" border="0" alt="Weather Icon" title="See Weather" height="96" width="83" /></a> 
     </div> 

     <div id="directionsicon"> 
      <a href="<?php bloginfo("url"); ?>"><img src="<?php bloginfo('template_url'); ?>/images/icons_04.png" border="0" alt="Directions Icon" title="Get Directions" height="94" width="96" /></a> 
     </div> 

     <div id="webcamicon"> 
      <a href="<?php bloginfo("url"); ?>"><img src="<?php bloginfo('template_url'); ?>/images/icons_05.png" border="0" alt="Web Cam Icon" title="Web Cam" height="96" width="84" /></a> 
     </div> 

     </div><!-- end of container --> 

     <div id="footer"> 
     &copy;<?php echo date("Y"); echo " "; bloginfo('name'); ?> 
     </div> 

</div> 

<?php wp_footer(); ?> 

The_permalink()私は別のページにいる時、私は、インデックスセクションにいるとき罰金ですが、ありません。 echo get_permalink(53)を使ってみましたが、それはうまくいきましたが、クライアントがダッシュボードに入って新しい投稿を作成するとどうなりますか?新しい投稿には別の投稿IDがあり、そのリンクは新しい投稿を指し示すのではなく、53のIDを持つ古い投稿を指し示します。

他のコードを参照する必要がある場合は、私にお知らせください!

アドバイスはありますか?ご協力ありがとうございました!

+0

[The Loop](http://)で 'the_permalink()'を正しく使用していると仮定します。 codex.wordpress.org/The_Loop)。 –

+0

いいえ、何のループですか?私はちょうどWordPressを使い始めましたが、ビデオではその人はループを見せていません。 –

+0

見ることができる例はありますか?私はオンラインで見ましたが、wordpressにはthe_permalink()でループを使った例はありません。 –

答えて

1

WPループの外側でthe_permalink()を使用しているようです。 get_permalink()は、 "Post ID"を関数に明示的に渡しているため、 "ループ"の外側で動作します。

あなたはそれが問題であるように思われる投稿スニペットを見てから http://codex.wordpress.org/The_Loop

を「ループ」を説明するこのページをお読みください。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
<?php /** YOUR CODE HERE **/ ?> 
<?php endwhile; else: ?> 
<p><?php 
_e('Sorry, no posts matched your criteria.'); ?></p> 
<?php endif; ?> 
+0

ありがとう、ありがとう、ありがとう、ありがとう!!!!それは魅力のように働いた! –

+0

この問題は2日ぶりに起こりましたが、そのすべてがループでした。 –

1

私はあなたが「the_permalink」機能の機能を誤解推測している:
は、私は以下のいくつかのサンプル「ループ」のコードを掲載しました。ループ内で使用する必要があります。ループ内で処理されている現在の投稿へのURLが表示されます。

<?php 
     if(get_option('show_on_front') == 'page') 
      echo get_permalink(get_option('page_for_posts')); 
     else 
      echo bloginfo('url'); 
?> 
+0

ええ、あなたは正しいです!それはループにあると思われていた! –

関連する問題