ob_startでバッファリングする。
<?php
function hogehoge() {
ob_start();
?>
<div class="hoge">
<p>ほげー</p>
</div>
<?php
$html = ob_get_contents();
ob_end_clean();
return $html;
}
WordPressではapply_filtersからエスケープして出力するとよい。
apply_filters( 'the_content', $html );
メモ:その他のやり方
ヒアドキュメントでHTMLを呼び出すこともできる。
<?php
function hogehoge() {
$html = <<<EOF
<div class="hoge">
<p>ほげー</p>
</div>
EOF;
return $html;
}