如何将 php 变量从 WordPress 中的数据库传递到 html 模板

How to pass php variable to html template from Database in WordPress

我正在制作自己的 WP 插件,它有一个包含一些模板的文本字段,我将其保存到数据库中(table=templates,field=template),如下所示:

<div class="myclass">
    <p>Hello {$user_name}</p>
</div>

然后我尝试向用户显示消息:

<php
 $user_name = "Bob";

 $template_query = 'select * from ' . $wpdb->get_blog_prefix();
 $template_query .= 'templates where id='.$some_id;
 $template_data = $wpdb->get_row( $template_query, ARRAY_A );
    
 $template = $template_data['template'];
 
 echo $template; 
 ?>

它输出的是“Hello {$user_name}”而不是“Hello Bob”

我不知道如何将 PHP 变量传递给 HTML 抛出数据库。

如有任何帮助,我将不胜感激。

来自数据库 $template 将只包含一个纯文本字符串,而不是 PHP。 您必须将 $template 中的占位符 {$user_name} 替换为 $user_name 到 PHP 中的值。

例如:

而不是

echo $template;

尝试:

echo str_replace('{$user_name}', $user_name, $template);

这将输出:

Hello Bob

另请注意,您的起始 <?php 标签中缺少 ?