簡體   English   中英

PHP中的Wordpress PHP

[英]Wordpress PHP within PHP

我正在嘗試實現將WordPress中的兩個插件結合在一起的結果。

基本上,我使用的是Easy Slider Pro和Advanced Custom Fields。 當網站所有者編輯頁面時,我希望他們能夠通過在名為“ slider”的高級自定義字段中輸入幻燈片ID來添加幻燈片。

通常,這就是添加PHP以顯示幻燈片的方式:

<?php if ( function_exists('easingsliderpro') ) { easingsliderpro( 5 ); } ?>

5是可以更改的幻燈片ID的示例。

這是高級自定義字段的PHP:

<?php if( get_field('slider') ): ?><?php the_field('slider'); ?><?php endif; ?>

兩者都可以正常工作。 但是我想要一種將這兩段代碼結合在一起的方法,以便在頁面編輯器中,網站管理員只需輸入幻燈片的ID。 我對PHP並不了解很多,但我經常對此感到困惑,但這是我最初的嘗試:

<?php if( get_field('slider') ): ?>
<div id="sliderframe"><?php if ( function_exists('easingsliderpro') ) { easingsliderpro( <?php the_field('slider'); ?> ); } ?></div>
<?php endif; ?>

我認為這沒有用,因為您不允許在PHP代碼中包含PHP代碼。 有沒有人知道的解決方法可以實現這一目標?

非常感謝。

我瘋了嗎? 你不能只是:

啊!

我想我看到了困惑: the_field 呼應的價值了,所以它被傳遞給easingsliderpro()像剛才true ,並顯示該值。

您需要使用一個返回值的函數,以便可以將其傳遞給下一個函數。

在這種情況下,它是get_field()

<?php if( get_field('slider') ): ?>
    <div id="sliderframe">
        <?php 
            if ( function_exists('easingsliderpro') ) :
                easingsliderpro( get_field('slider') );
            endif;
        ?>
    </div>
<?php endif; ?>

請參閱文檔中的更多信息: http : //www.advancedcustomfields.com/resources/functions/get_field/

您不應該將php open close標簽放在php open / close標簽中。 對於上面的代碼,這是有效的:

<div id="sliderframe"><?php if ( function_exists('easingsliderpro') ) { 
  easingsliderpro(the_field('slider')); 
} ?></div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM