0

私はワードプレスで開発中の CMS サイトを与えられています。私は現在、html、css、php、jquery、ajax を学んでおり、もちろんワードプレスの研究も行っています。

だから私のサイトはこのように見えるはずです

ここに画像の説明を入力

今これで

表示されるページは1つだけです...メインページ

そして、Wordpressで作成された3つのページ(about、home、people)があります(Wordpress ---> Pages --> new page ---> write content)

1)画像に示すようにメインページに3つのパネル(About、Home、People)が必要で、メインページページを開くとすべてが折りたたまれます

2)しかし、ホームをクリックすると、ホームパネルが展開され、ページをリロードせずにそこにページのコンテンツが表示されます。また、他のパネルは同時に折りたたまれます。

3)メニューバー項目(Aboutまたはその他)をクリックすると、同じ名前のパネルが展開されます..

何らかの形で私の質問に答えてくれると人々が知っているサイトがあれば、それらを伝えてください.

編集1

サイトhttp://jqueryui.com/downloadからjqueryの例をダウンロードしました

collapsible.html の例のようにタブが必要です

以下のコードはpage.phpです

      <?php wp_enqueue_script("jquery"); // added this line  16-7-2012
?>

    <script type="text/javascript" src="<?php bloginfo('template_directory');          ?>/js/jquery-1.7.2.js"></script>
    <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.ui.core.js"></script>
   <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.ui.widget.js"></script>
  <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/query.ui.accordion.js"></script>

   <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>/js/demos.css" type="text/css" media="screen" />
   <link rel="stylesheet" href="<?php bloginfo('stylesheet_url');  ?>/js/jquery.ui.all.css" type="text/css" media="screen" />



<script>
$(function() {
    $( "#accordion" ).accordion({
        collapsible: true
    });
});
</script>


   <?php get_header(); ?>

<div class="content">

<?php if (have_posts()) : ?>

    <?php $page_id=1332;?>
<?php get_page( $page_id ) ?> 

    <?php while (have_posts()) : the_post(); ?>

        <h1><?php the_title(); ?></h1>

        <?php the_content('Read more'); ?>



    <?php endwhile; ?>
</div>

<?php else : ?>

    <h2 class="center">Not Found</h2>
    <p class="center">Sorry, but you are looking for something that isn't here.</p>
    <?php include (TEMPLATEPATH . "/searchform.php"); ?>

<?php endif; ?>

 <?php if (is_single()) comments_template(); ?>

</div>

 <?php get_sidebar(); ?>

<?php get_footer(); ?>

すべてのページをロードするので.. WPページ(コンテンツセクション)で、jqueryの例で指定されたhtmlコード、つまり以下のコードを書きました:

  <div id="accordion">
  <h3><a href="#">Section 1</a></h3>
   <div>
    <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p>
</div>
  <h3><a href="#">Section 2</a></h3>
  <div>
    <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p>
</div>
  <h3><a href="#">Section 3</a></h3>
  <div>
    <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p>
    <ul>
        <li>List item one</li>
        <li>List item two</li>
        <li>List item three</li>
    </ul>
</div>
<h3><a href="#">Section 4</a></h3>
<div>
    <p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p>
</div>

ただし、アコーディオンタブのないプレーンテキストとして表示されます

ここに画像の説明を入力

EDIT2

    function{
  $(function() {
      $( "#accordion" ).accordion({
        collapsible: true
      });
  })};

EDIT3

   jQuery(document).ready(function(){   
  $(function() {
    $( "#accordion" ).accordion({
        collapsible: true
    });
});
4

1 に答える 1

0

折りたたみ可能な部分については、jquery ui アコーディオンを使用できます。: http://jqueryui.com/demos/accordion/

最も簡単な方法は、ajax を使用せずにすべてのページをメイン ページにレンダリングすることです。http://codex.wordpress.org/Function_Reference/get_pageおよびwordpress: 1 つのページに複数のページを表示するにはどうすればよいですか? を参照してください

index.phpテーマのファイルを変更するだけです。

--

ここで説明されているように、ajax を介してページのコンテンツをロードすることもできます: jQuery アコーディオンと AJAX を介したコンテンツのロード

そのためにはpage.php、ヘッダー/フッターなしでコンテンツのみを表示するようにテンプレートを変更する必要もあります。

于 2012-07-17T06:39:46.333 に答える