2014-02-28 42 views
0

我学习PHP,有一个基本的问题,呼叫在function.php功能的WordPress

我的页面有这样的代码portfolio.php

<?php 
     $args = array(
      'post_type' => 'portfolio', 
      'orderby' => 'menu_order', 
      'order' => 'ASC', 
      'posts_per_page' => -1 
     ); 
     $portfolio_query = new WP_Query($args); 

     if($portfolio_query->have_posts()) : 

      echo '<div id="primary" class="hfeed">'; 

      while($portfolio_query->have_posts()) : $portfolio_query->the_post(); 

      // project url 
      $portfolio_url = get_post_meta($post->ID, '_zilla_portfolio_project_url', true); 
      if(!empty($portfolio_url)) 
       $portfolio_button_copy = get_post_meta($post->ID, '_zilla_portfolio_project_url_copy', true); 

     ?> 

我想在我的function.phpecho$portfolio_url 任何参考更多的研究在这种情况下,将不胜感激。

+0

嗯,你为什么要回声到你的functions.php文件? – Bill

+0

因为我在我的function.php中有一个函数,它回显''标记,我想在那里回显'href'! – user3067592

+0

好的,你在哪里调用你的函数? – Bill

回答

0

目前尚不清楚你想要做什么,但如果你需要一个URL传递给一个函数,那么你可以用一个参数做到:

function your_function($url) { 
     // Do whatever you want with $url here, like: 
     echo '<a href="'.$url.'">A link</a>'; 
    } 

您可以将上面保存到functions.php。 根据你的意见,我认为你想要做的是把你的代码在portfolio.php并把它变成一个函数,你可以调用其他地方。在这种情况下,你需要真正把它定义为一个函数:

function get_portfolio_url() { 
     // Insert your existing code in here... 
     // Then you can either echo $portfolio_url: 
     echo $portfolio_url; 
     // Or you can just return it if you plan on doing other things with it 
     return $portfolio_url 
    } 

您可以将上述功能为functions.php。然后你可以用get_portfolio_url()来拨打它。从技术上讲,你不再需要portfolio.php,因为你已经创建了一个完全相同的功能。请注意,您不需要为您需要的每个功能创建单独的PHP文件;你可以在一个位置将它们定义为单独的函数,然后根据需要调用它们(这在本质上是functions.php适用于WordPress的;一个文件用于保存主题使用的所有功能)。

+0

我认为现在应该清楚了:认为你在example.php中有一个函数,并且你想在example2.php中调用该函数。 。我有一个函数($ portfolio.php),我想在另一个php页面中调用该函数!现在有意义吗?谢谢! – user3067592

+0

我*想*你只是想在另一个文件中调用一个函数;见上面的编辑答案。 – Dre