2012-02-08 47 views
0

我正在整合兩個wordpress插件。我想要做的是將此代碼<?php DisplayStars(get_the_ID()); ?>添加到另一個插件的功能。我試過$html = '<?php DisplayStars(get_the_ID()); ?>';,但php顯示錯誤。謝謝你的幫助。通過返回函數調用PHP腳本

function wpbusdirman_post_excerpt($count) 
{ 
    $wpbusdirman_gpid=wpbusdirman_gpid(); 
    $wpbusdirman_permalink=get_permalink($wpbusdirman_gpid); 
    $html = ''; 
    $html .= '<div id="wpbdmlistings"'; 
    $isasticky = get_post_meta(get_the_ID(),'sticky'); 
    if(isset($isasticky) && !empty($isasticky)) 
    { 
     $isasticky=$isasticky[0]; 
    } 
    if(isset($isasticky) && ($isasticky == 'approved')) 
    { 
     if($count&1) 
     { 
      $html .= ' class="wpbdmoddsticky"'; 
     } 
     else 
     { 
      $html .= ' class="wpbdmevensticky"'; 
     } 
    } 
    else 
    { 
     if($count&1) 
     { 
      $html .= ' class="wpbdmodd"'; 
     } 
     else 
     { 
      $html .= ' class="wpbdmeven"'; 
     } 
    } 
    $html .='><div class="listingthumbnail">' . wpbusdirman_display_the_thumbnail() . '</div><div class="listingdetails">'; 
    $html .= wpbusdirman_display_the_listing_fields(); 
    $html .= wpbusdirman_view_edit_delete_listing_button(); 
    $html .= '</div><div style="clear:both;"></div></div>'; 
    return $html; 
} 
+1

實際發生了什麼? – 2012-02-08 21:17:34

+0

我已經重新格式化了您的代碼。當您下次發佈一些代碼時,請嘗試更好地格式化它。謝謝:-) – Flukey 2012-02-08 21:25:27

+0

我沒有看到'DisplayStars'在你的代碼在任何地方.. – 2012-02-08 21:28:44

回答

0

您正在使用的代碼庫是php。你添加的代碼是php。這意味着,你不需要在html中添加它,只需調用該函數即可。 (您可以在文件的頂部需要一個include的功能工作,如果它不是在這個文件)

$html .= DisplayStars(get_the_ID()); 

應該是你在調用需要的文本添加到HTML。

+0

感謝您的回答,它的工作原理! – user1177437 2012-02-10 18:55:12

0

當你做這樣的事情:什麼是引號之間

<?php return "<?php echo('foo'); ?>"; ?> 

那麼PHP不知道(或護理) - 它只是文字,只要它知道。但是,您可以讓PHP使用eval來解釋的字符串:

<?php 
    $command = "echo('foo');"; 
    eval($command); 
?> 

這將導致PHP打印出「富」。但要小心,eval是危險的 - 請參閱note in the PHP manual