0

$ page_id ++は、ワードプレスのWebサイトで0から5までのページ注文IDを表し、増分します。

次に、次のようなHTMLを含めます。

<div class="page_title <?php echo page_item;?>" id="about"><?php the_title()?></div>

divクラスの出力は、最初のクラスの「page_title0」です。

私が知りたいのは、数字を単語やクラスに置き換えることができるかどうかです。配列を作成してみました:

<?php $page_id = array (0 === 'one', 1 === 'two',2 === 'three',3 ==='four',4 ==='five', 5=== 'six')?>

ただし、「page_titleArray」が返されるだけです。

編集:配列内の===を=>に置き換えてみました。

私はここで私の構文(または論理さえも!)を読む必要があることを知っていますが、どんな助け/説明または手がかりもいつものようにありがたいです。

4

3 に答える 3

1

実際には配列内のアイテムを参照しているのではなく、配列自体を参照しているようです。これらを印刷するためにforeachループを使用していますか?

<?php foreach($page_id as $page_item):?>

   <div class="page_title <?php echo $page_item;?>" id="about"><?php the_title()?></div>

<?php endforeach;?>

または、手動で実行します。

 <div class="page_title <?php echo $page_id[0];?>" id="about"><?php the_title()?></div>

したがって、キー0〜5を参照して、これを実行します。

于 2013-03-15T15:27:57.937 に答える
0

クラス名として数字以外のものを使用することができ、実際に使用する必要があります。クラス名には少なくとも1つの数字以外の文字が含まれ、文字で始まる必要があると約78%確信しています。(これは実際にはIDのルールのようです。クラスのハードセットされたルールは見つかりませんが、ええと。)

数字を単語にマッピングする方法については、全体をエコーするのではなく、配列内のIDを検索する必要があります。

<?php $page_classes = array(...); ?>
...
<div class="page_title <?= $page_classes[$page_id] ?>" id="about">
  <?php the_title()?>
</div>

(このようなdivが複数印刷されることが予想される状況でこれを行う場合は、属性を失うidか、印刷するクラス名と同じにするか...何かを真剣に検討する必要があります。 IDは一意である必要があります。)

于 2013-03-15T15:22:56.073 に答える
0

次のようなものを試してください。

<?php

    $pageIDs = array(0 => 'one', 1 => 'two'); // and so on... 
    $page_id = $pageIds[$page_id ];

    // ... Other wordpressy stuff...

基本的に、配列を変数として渡すのではなく、配列から値を取得するという考えは、この場合$ page_idを取得すると、文字列になります。

于 2013-03-15T15:23:26.700 に答える