在function.php Wordpress中调用函数

时间:2014-02-28 16:47:40

标签: php wordpress

我正在学习PHP并有一个基本问题,

我在页面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);

        ?>

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

1 个答案:

答案 0 :(得分: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文件;您可以在一个位置将它们定义为单独的函数,然后根据需要调用它们(这实际上是WordPress中functions.php的用途;单个文件用于保存主题使用的所有函数)。