0

私は単一ページのサイトで作業しており、すべての投稿へのリンクを作成するためのワードプレスソリューションを探しています。例として、私はこのようなことを達成したいと思います

<ul id="navigation" class="menu1">
    <li><a href="#post-1">...</a></li>
    <li><a href="#post-2">...</a></li>
    <li><a href="#post-3">...</a></li>
    <li><a href="#post-4">...</a></li>
</ul>

私がこれまで見てきた解決策は、.htaccessの編集を扱っているか、永続的ではありません。

テーマレベルでこのようなことをどのように達成できますか?

これが私がやろうとしていることを達成することができたテーマです:http ://themes.mdnw.net/?theme = shapeshifter

左側のリンク(ブログを除く)をクリックすると、Webサイトを上下にスクロールするだけです。このようにナビゲーションを設定するにはどうすればよいですか?

4

1 に答える 1

0

次のようにjQueryを使用できます。

$("#navigation a").click(function(event) {
    event.preventDefault();
    var link_href = $(this).attr('href');
    var post_id = link_href.replace(/[^0-9]/g, '');
    $.scrollTo('#post-' + post_id, 800);
});

ナビゲーションリンクをクリックすると、POST番号/ IDがhrefハッシュ#post-432などから抽出されます。$ .scrollToプラグインを使用して、同じ投稿番号/IDのdivまでスクロールします。

一連の投稿からナビゲーションメニューを生成するためのサンプルコードを次に示します。

<ul id="navigation" class="menu1">
<?php
global $post;
$args = array( 'numberposts' => 5 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) :  setup_postdata($post); ?>
    <li><a href="#post-<?php the_ID(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>

それでも、すべての投稿のコンテンツをクエリする必要があります。同様のクエリでトリックとフェッチを実行する必要がありますthe_content()

于 2012-06-13T17:32:06.010 に答える