HTMLリンク内のPHP関数を使用してWebサイトのルートを呼び出そうとしています。
以下に関数bloginfo()を作成しました。正しいリンク出力は、http://www.example.com/subdirectory/file.phpです。
関数を呼び出す2つの方法は似ていますが、方法1は機能せず、方法2は機能します。
誰かが方法1が機能しない理由を説明し、解決策を提案してください。ありがとう。
<?php
function bloginfo($show) {
switch ($show) {
case 'template_url':
echo "www.example.co.uk";
break;
}
}
// Method 1 - does not work
echo "<a href=\"http://<?php bloginfo('template_url'); ?>/subdirectory/file.php\">test link 1</a>";
?>
<html>
<body>
<!-- Method 2 - works! -->
<a href="http://<?php bloginfo('template_url'); ?>/subdirectory/file.php">test link 2</a>
</body>
</html>
アップデート
echo "<a href=\"http://".bloginfo('template_url')."/subdirectory/file.php\">
皆様のご協力に感謝いたします。残念ながら、何らかの理由で「www.example.com」が印刷されますが、リンクとしてではなく、リンクの方向が単に「/subdirectory/file.php」になったため、一般的な回答(コード行の上)を機能させることができませんでした。
この問題を解決するために、私は関数の組み込みをあきらめ、両方のメソッドで機能する以下のPHPDefineメソッドを使用することにしました。
<?php
//this line of code can be put into an external PHP file and called using the PHP Include method.
define("URL", "www.example.com", true);
// Method 1 - works!
echo "<a href=\"http://".URL."/subdirectory/file.php\">test link 1</a>";
?>
<html>
<body>
<!-- Method 2 - works! -->
<a href="http://<?php echo URL; ?>/subdirectory/file.php">test link 2</a>
</body>
</html>