1

カスタム投稿タイプに応じて異なるテキストを出力しようとしていますが、複数のifステートメントが原因であると思われる構文エラーが発生します。問題は、私がPHPについての知識が非常に限られていることです。何か案は?

<?php

if ( 'lettering' == get_post_type() ) {

    <?php if( function_exists( 'attachments_get_attachments' ) ) { 
            $attachments = attachments_get_attachments();
            $total_attachments = count( $attachments );
            if( $total_attachments ) : ?>
            <ul id="process"><span>Process:</span>
            </ul>
            <br>
                <?php endif; ?> <?php } ?>

} elseif ( 'type' == get_post_type() ) {

    <?php if( function_exists( 'attachments_get_attachments' ) ) { 
            $attachments = attachments_get_attachments();
            $total_attachments = count( $attachments );
            if( $total_attachments ) : ?>
            <ul id="process"><span>Additional Shots</span>
            </ul>
            <br>
                <?php endif; ?> <?php } ?>
}

?>
4

2 に答える 2

3

次のような開いているphpタグを削除します:change:

<?php if ( 'lettering' == get_post_type() ) {

    this one --> <?php if( function_exists( 'attachments_get_attachments' ) ) { 

<?php if ( 'lettering' == get_post_type() ) {

    if( function_exists( 'attachments_get_attachments' ) ) { 
      .......

同様にelseif

追加した:

<?php
if ( 'lettering' == get_post_type() ) {
    if( function_exists( 'attachments_get_attachments' ) ) { 
        $attachments = attachments_get_attachments();
        $total_attachments = count( $attachments );
        if( $total_attachments ): 
?>
                <ul id="process"><span>Process:</span>
                </ul>
                <br>
<?php 
        endif; 
    }
} else if ( 'type' == get_post_type() ) {
    if( function_exists( 'attachments_get_attachments' ) ) { 
        $attachments = attachments_get_attachments();
        $total_attachments = count( $attachments );
        if( $total_attachments ): 
?>
                <ul id="process"><span>Additional Shots</span>
                </ul>
                <br>
<?php 
        endif;
    }
}
?>
于 2012-10-08T05:12:27.917 に答える
0

MarcBがコメントしているように、このようにPHPを出し入れするのは理想的ではありません。代替構文は、主にHTMLベースのファイルをPHPインジェクションで記述している場合に最適です。それ以外の場合は、ヒアドキュメントのようなものを使用して、物事をより簡単に見つけられるようにします。

<?php

if ( 'lettering' == get_post_type() ) {
  if( function_exists( 'attachments_get_attachments' ) ) {
    $attachments = attachments_get_attachments();
    $total_attachments = count( $attachments );

    if( $total_attachments ) {
      echo <<<EOSTRING

      <ul id="process"><span>Process:</span>
      </ul>
      <br>

EOSTRING
;
    }
  }
} elseif ( 'type' == get_post_type() ) {
  if( function_exists( 'attachments_get_attachments' ) ) {
    $attachments = attachments_get_attachments();
    $total_attachments = count( $attachments );

    if( $total_attachments ) {
      echo <<<EOSTRING

      <ul id="process"><span>Additional Shots</span>
      </ul>
      <br>

EOSTRING
;
    }
  }
}
于 2012-10-08T05:58:27.193 に答える