从WordPress模板链接到插件目录中的文件?

时间:2013-10-03 作者:Damainman

我知道插件和主题文件应该分开保存,但对于内部使用,我需要这样做。

在我的主题标题中。php文件我想从我的插件目录中包含一个只包含html的php文件。

路径基本上是/wp-content/plugins/my\\u-plugin/my-html。php

我似乎无法找到wordpress在插件目录中查找并获取my html的正确代码。my\\u plugin文件夹中的php文件。我想包含此文件,以便其中的html包含在标题中。我的主题中的php。

最好的方法是什么??

5 个回复
最合适的回答,由SO网友:gmazzap 整理而成

在主插件文件中,只需定义一个包含插件路径的常量:

$pluginpath = plugin_dir_path( __FILE__ );
define(\'MY_AWESOME_PLUGIN_PATH\', $pluginpath);
之后在你的header.php:

include(MY_AWESOME_PLUGIN_PATH . \'html_file_name.html\');

SO网友:Simon

查看WP的plugins\\u url函数

<?php
 echo \'<img src="\' . plugins_url( \'images/wordpress.png\' , __FILE__ ) . \'" > \';
 ?>
查看更多有关Wordpress Codex

SO网友:Pat J

如果plugins/my_plugin/my-html.php 文件只输出HTML,您可以这样做:

plugins/my_plugin/my-html.php

<?php
function my_output() {
    $html = \'This is some HTML that should go in the header.\';
    echo( $html );
}

themes/my_theme/header.php

.
.
.
if( function_exists( \'my_output\' ) ) {
    my_output();
}
.
.
.

SO网友:pl4g4

您可以使用包含文件

include \'../plugins/my_plugin/plugin.php\';
如果插件的标题位于正确的文件夹中。。返回一个文件夹到wp内容,然后转到plugins/yourpluginfolder/phpfile。

SO网友:Tony Djukic

正如我在评论中所说,我认为你在寻找的是一个模板标记,因为它基本上只是将HTML从插件添加到主题中。

因此,在主插件文件或单独的文件中,您需要执行以下操作:

<?php
    // ADD TAG THAT CAN BE ADDED TO TEMPLATES
    function yourplugin_templatetag() {
        //you can echo out the lines of HTML here
        echo \'<h1>This is a title.</h1>\';
        echo \'<p>This is the content of a paragraph.</p>\';
        //Or you can close the PHP tags and just use regular HTML
        ?>
        <ul>
            <li>This is list item 1.</li>
            <li>This is list item 2.</li>
        </ul>
        <!--// Remember to re-open the PHP tags -->
    <?php }//yourplugin_templatetag()
?>
然后,在您希望显示此内容的模板中,这是您的标题。php,您希望将我们为插件创建的模板标记放置在希望其HTML显示的位置。

<?php yourplugin_templatetag(); ?>
如果将其作为单独的文件,则需要在主插件文件中使用该文件,如下所示:

include( plugin_dir_path( __FILE__ ) . \'yourplugin_templatetag.php\' );

当然,可以根据需要命名文件以及模板标记,如果文件包含目录或其他内容,请确保将其包含在路径中。

结束

相关推荐

如何使用php从外部访问WordPress数据库中的数据

我想与iOS应用程序共享特定wordpress数据库表中的数据。客户端希望通过wordpress表单插件输入数据,这些插件在wp数据库中创建自己的表。我所研究的插件本身没有API,wordpress REST API的示例都使用AJAX,我不熟悉AJAX和/或只能访问wordpress帖子或用户数据中的信息。有没有一种方法可以通过php做到这一点,而不需要直接访问数据库?我担心数据库结构的变化和更新可能会破坏应用程序。