Warp7中的自定义页面模板(YooTheme模板)

时间:2014-02-18 作者:Owl

我正在尝试将自定义页面模板添加到wordpress。我创建了一个页面公文包。php到文件夹

\\wp内容\\主题\\ yoo\\u master2\\u wp \\版面

我的php文件包含以下内容:

<?php
/*
Template Name: My Portfolio
*/
// get warp    
$warp = Warp::getInstance();    

// load main template file    
echo $warp[\'template\']->render(\'template\');

if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>

    <article class="uk-article">

        <?php if (has_post_thumbnail()) : ?>
            <?php
            $width = get_option(\'thumbnail_size_w\'); //get the width of the thumbnail setting
            $height = get_option(\'thumbnail_size_h\'); //get the height of the thumbnail setting
            ?>
            <?php the_post_thumbnail(array($width, $height), array(\'class\' => \'\')); ?>
        <?php endif; ?>

        <h1 class="uk-article-title"><?php the_title(); ?></h1>

        <?php the_content(\'\'); ?>

        <?php edit_post_link(__(\'Edit this post.\', \'warp\'), \'<p><i class="uk-icon-pencil"></i> \',\'</p>\'); ?>

    </article>

    <?php endwhile; ?>
<?php endif; ?>

<?php comments_template(); ?>
这是tutorial, 它应该如何工作(最后一部分)。

根据本教程,我应该执行以下操作:

<?php
/*
Template Name: My Portfolio
*/
<?php get_header(); ?>

Put your content here...

<?php get_footer(); ?>
但像这样,我只有一页空白。

上面的代码是从页面复制的。php的布局和代码this post

但我收到以下错误消息:

致命错误:在C:\\xampp\\htdocs\\wordpress\\wp content\\themes\\yoo\\u master2\\u wp\\layouts\\page公文包中找不到类“Warp”。php第6行

那么,有人知道warp7中的正确方法吗?文档没有帮助

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

Warp的整个doco问题令人困惑。您应该使用在主题下配置的样式之一,您可以在以下文件夹中找到这些样式:

/wp-content/themes/yoo_avenue_wp/styles/red
将您的/布局文件夹添加到此处,然后从该文件夹复制到要覆盖的任何文件中:

/wp-content/themes/yoo_avenue_wp/warp/systems/wordpress/layouts
这些是您修改的文件,Warp将优先使用这些文件,而不是自己系统中的文件。现在,要选择使用的模板,我发现最好是复制“内容”。php\'This根据帖子类型等选择要使用的页面名称。

但是,该代码包含:

if ($this["path"]->path("layouts:{$queried_object->post_type}.php")) {
    $content = $queried_object->post_type;
}
不管他们在文档中怎么说,这意味着它正在寻找一个名为“post-type”的文件。php”,而不是“单一-post\\u类型”。php’!

归档文件也不会使用slug进行查找,因此我将文件修改为:

} elseif (is_archive()) {

    $content = \'archive\';

    if ($this["path"]->path("layouts:{$queried_object->slug}.php")) {
        $content = $queried_object->slug;
    }
希望这能帮助其他一些人摆脱我的痛苦:)

SO网友:fischi

简而言之,您将模板文件放在了错误的文件夹中。

WordPress在模板文件夹的根目录中搜索模板文件,因此您只需将其放入\\wp-content\\themes\\yoo_master2_wp, 一切都会好起来的。

还可以查看Template Hierarchy 在法典中,为了更好地理解其结构,Yoothemes没有对其进行详细解释。

Yoothemes本身在这里有点混乱,因为他们使用相同的引擎(Warp)来驱动Joomla和WordPress模板-这不是一种理想的方法。他们开始构建Joomla模板,然后加入WordPress潮流,试图修改现有开发以适应另一个CMS。

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register