这个插件如何在同一个插件中创建多个页面?

时间:2015-11-29 22:20:59

标签: php wordpress wordpress-plugin include

我正在扩展一个名为Anspress的现有插件。我是wordpress / web dev的新手,我无法弄清楚作者如何在不创建不同页面模板的情况下显示不同的页面。这些images显示了如何使用单个短代码在仪表板中只有一个页面模板。在这个"页面"由插件创建,有链接加载插件的其他部分,如用户配置文件,个别问题及其响应,以及主要问题列表。

简而言之,他的代码布局如下:

main.php
{
    require_once 'FileA.php'
    require_once 'FileB.php'
    require_once 'FileC.php'
    require_once 'FileD.php'
    /// Etc...


}

上面的文件都不是ask.php,这是用于保存提问页面的HTML的PHP​​文件。然而,当用户点击"提出问题"然后他仍然可以使这个ask.php文件以某种方式生成页面。按钮。这是如何运作的?以下是ask.php的代码

<?php
// Some comment about the HTML code below


?>
<div id="ap-ask-page" class="clearfix">
    <?php if (ap_user_can_ask()): ?>
        <div id="answer-form-c">
            <div class="ap-avatar ap-pull-left">
                <a href="<?php echo ap_user_link(get_current_user_id()); ?>"<?php ap_hover_card_attributes(get_current_user_id()); ?>>
                    <?php echo get_avatar(get_current_user_id(), ap_opt('avatar_size_qquestion')); ?>
                </a>
            </div>
            <div class="ap-a-cells clearfix">
                <div class="ap-form-head">
                    <a href="#" class="apicon-screen-full pull-right ap-btn-fullscreen" data-action="ap_fullscreen_toggle"><?php _e('Toggle fullscreen', 'ap'); ?></a>
                    <ul class="ap-form-head-tab ap-ul-inline clearfix ap-tab-nav">
                        <li class="active"><a href="#ap-form-main"><?php _e('Write', 'ap'); ?></a></li>
                        <?php if(ap_opt('question_help_page') != '') : ?>
                            <li><a href="#ap-form-help"><?php _e('How to ask', 'ap'); ?></a></li>
                        <?php endif; ?>
                    </ul>
                </div>
                <div class="ap-tab-container">
                    <div id="ap-form-main" class="active ap-tab-item">
                        <?php ap_ask_form(); ?>
                    </div>
                    <div id="ap-form-help" class="ap-tab-item">
                        <?php if(ap_opt('question_help_page') != ''): ?>
                            <?php ap_how_to_ask(); ?>
                        <?php endif; ?>
                    </div>
                </div>
            </div>
        </div>
    <?php elseif (is_user_logged_in()): ?>
        <div class="ap-no-permission">
            <?php _e('You don\'t have permission to ask question.', 'ap'); ?>
        </div>
    <?php endif; ?>
    <?php ap_get_template_part('login-signup'); ?>
</div>

我可以根据需要提供更多信息。

0 个答案:

没有答案