在 wordpress 生成的页面中包含 php 文件

Include php file in wordpress generated page

我正在处理注册表并使用简单的验证码 php 脚本生成验证码图像。

这是用于在页面上显示验证码图像的html代码

<img id="img" src="captcha.php">

在页面的静态版本上一切正常,但图像在 Wordpress 生成的页面上不显示。

是否可以在不使用任何插件的情况下在 Wordpress 页面中显示我的验证码图像?

编辑:我正在添加更多我的代码

我的page.php文件

<?php get_header(); ?>
<?php while ( have_posts() ) : the_post(); ?>
  <div class="row">
    <div class="col-md-9 col-left-outer">
        <div class="col-md-12 col-left">
            <img id="img" src="'.home_url().'/captcha.php"> <-- Added this line to test if captcha will display from page.php file -->
            <?php the_content(); ?>
        </div>
    </div>
    <div class="col-md-3">
        <div class="col-md-12 col-right">
          <!-- Archive Side Navigation -->
            <?php get_sidebar(); ?>
        </div>
    </div>
  </div>
 <!-- /.row -->
<?php endwhile; wp_reset_query(); ?>
<?php get_footer(); ?>

我在 Wordpress 控制面板的文本框中输入的代码

<div class="row">
   <div class="col-lg-4 col-md-4">
      <label for="InputName">Παρακαλούμε, εισάγετε CAPTCHA</label>        
      <img id="img" src="'.home_url().'/captcha.php">
      <input id="captcha1" class="form-control" name="captcha" type="text" required>
   </div>
</div>

由于WP使用.htaccess重写,所以不应该使用相对路径
src="captcha.php",但是像
这样的绝对路径 src="http://www.example.com/wp/captcha.php"
src="/wp/captcha.php"

您必须根据您的配置调整上述路径。

WP 知道您的网站所在位置,因此要保持独立,请使用类似:

<?php
echo '<img id="img" src="' . home_url() . '/captcha.php">';

<img id="img" src="<? php echo home_url() ?>/captcha.php">

编辑:
<?php 仅在插件或模板中有效。如果您的 html 代码仅在 WP Widget 文本内容中,出于安全原因 PHP 将不会被解析。