2012-05-05 9 views
1

は、2つの例示的なPHPの関数である:変数の同じサブセットで2つの異なるPHP関数を結合しますか?ここ

function myimage1() { 
global $post; 
    $attachment_id = get_post_meta($post->ID, 'f1image', $single = true); 
    $myimage1 = wp_get_attachment_image($attachment_id, thumbnail); 
return $myimage1; 
} 

(私はこのようなこれを呼び出す:<?php echo myimage1(); ?>

function myimage2() { 
global $post; 
    $attachment_id = get_post_meta($post->ID, 'f1image', $single = true); 
    $myimage2 = wp_get_attachment_image($attachment_id, medium); 
return $myimage2; 
} 

(私はこのようなこれを呼び出す:<?php echo myimage2(); ?>

ご覧のとおり、どちらも共通変数$attachment_idを持っています。どちらの関数も非常に関連しており、両方を組み合わせる方法や、結合された関数からそれらを呼び出す方法がわかりません。

PS:私はPHPについてよくわかりませんが、私の用語は多少曖昧である可能性があります。その場合は、私を修正してください。

答えて

2
function myimage($level) { 
    global $post; 
    $attachment_id = get_post_meta($post->ID, 'f1image', true); 
    $myimage = wp_get_attachment_image($attachment_id, $level); 
    return $myimage; 
} 

myimage("medium"); 
myimage("thumbnail"); 
0

OOPは、このニーズに厳密に対応しています。 2つの関数(メソッド)は、同じクラス変数を使用します。

<?php 

class A { 

    public $attachment_id; 

    private function wp_get_attachment_image() { 

     // place your wp_get_attachment_image() function content here 

    } 

    public function myimage1() { 

     $myimage1 = $this->wp_get_attachment_image($this->attachment_id, medium); 
     return $myimage1; 

    } 

    public function myimage2() { 

     $myimage2 = $this->wp_get_attachment_image($this->attachment_id, medium); 
     return $myimage2; 

    } 

} 

$a = new A; 
$a->attachment_id = $a->get_post_meta($post->ID, 'f1image', $single = true); 
$a->myimage1(); 
$a->myimage2(); 

?> 
+0

これは本当に混乱しています。私の質問のコードであなたの例を修正してください。また、各PHP関数を呼び出すためのPHPコードを提供してください。 –

+0

修正された回答を見る –

関連する問題