我正在尝试为 WordPress 编写自己的主题,并编写了一个包含所有模态(twitter bootstrap)的文件,这些模态是 html。我将其添加到主题部分(创建了一个 inc 文件夹)并将其命名为 modals.php。
我通过 php 将其包含在需要模态的页面中的任何位置。这有效。每当我点击链接时,模式就会加载。然而,当我开始将 php 添加到模式中时,它就崩溃了。我的模式正在加载,但不是从 WordPress 数据库请求的帖子项目(我用它来使其成为动态内容,因为它是多语言的),而是加载页脚,并破坏了我的网站,这真的让我感到困惑。
我的 modals.php 包含以下内容
<div id="about" class="modal fade" tabindex="-1">
<div class="vertical-alignment-helper">
<div class="modal-dialog vertical-align-center">
<div class="modal-content">
<div class="modal-header">
<button class="close" type="button" data-dismiss="modal"></button>
<button class="close" type="button" data-dismiss="modal">x<span class="sr-only">Close</span></button>
<h4 id="myModalLabel" class="modal-title">
My modal popup
</h4>
</div>
<div class="modal-body modal-list">
<div class="modal-content col-md-12">
<strong><?php _e(" <!--:en-->It's me<!--:--><!--:pl-->To Ja<!--:-->" ); ?> </strong>
<p>
<?php
$post = get_post(930);
$content = $post->post_content;
echo $content;
?>
</p>
</div>
</div>
<div class="modal-footer"><button class="btn btn-default" type="button" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
我是否需要告诉我的文件它需要读取特定于 wordpress 的文件,或者我是否需要在某处添加我的文件才能使其读取?
edit
当我尝试只回显诸如 test 之类的单词时,这是有效的,所以我有一种感觉它与 WordPress 使用的语法有关。有没有办法让 wordpress 知道它应该用 wordpress 语法读取?
edit 2
目前,我有多个子页面,所以我只想加载某个页面的某些模式。对于格丁尼亚,我只想加载那些。我更新了代码,现在有了这个。
else if (is_page ('gdynia')) {
get_template_part('modals-gdynia.php');
}
但现在什么也没发生。它曾经是,
else if (is_page ('gdynia')) {
include_once(get_template_directory_uri() .'/modals-gdynia.php');
}
如果你利用get_template_part()
你不应该有任何问题。
您可能包含 modals.php 的方式可能是调用wp_footer()
因为某些原因。
因此,如果您想使用此模板,您只需在您想要的相应文件中调用它即可。
header.php
single.php
footer.php
就是这样的模板默认文件。
在其中之一中就可以调用它。
<?php
get_template_part('modals.php');
// Just in case you wanna use a variable from another context into this template.
$post_id = 930;
include(locate_template('modals.php'));
?>
除此之外,我认为他们不应该成为一个无法正常工作的问题。
告诉我它是否解决了您的问题,也许可以将代码上下文粘贴到modals.php
正在被调用以及它是如何被调用的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)