在定义为模板的页面上自定义css和javascrip不起作用?

时间:2012-12-10 作者:deckoff

我写了一个网页,它是一个web应用程序(一个使用php、mysql和css3样式的简单卡片数据库)。页面按预期工作。

我的一个朋友建议我使用wordpress来完成其他一切,以节省编写欢迎页面等的时间,所以我决定尝试一下。我需要只使用密码将页面锁定给用户,因此我必须通过模板添加页面。我只是添加了所需的php注释,当我惊讶地看到css和脚本都没有被读取时,我希望一切正常。我使用一些javascript来定义某个列的高度和宽度、图像链接等。我得到的只是一些没有样式的div:(:(

这是页眉

<?php
/*
Template Name: Tarot
*/
?>


<html>
<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>

    <!-- CSS  -->
    <link rel="stylesheet" href="tarot/css/master.css">

    <!-- Jquery main DB -->
    <script type="text/javascript" src="tarot/js/jquery-1.8.0.min.js"></script>
    <script type="text/javascript" src="tarot/js/jquery-ui-1.8.24.custom.min.js"></script>
    <script type="text/javascript" src="tarot/js/jquery.flip.js"></script>

    <!-- Main custom javascript file -->
    <script src="tarot/js-system/db.js" type="text/javascript" charset="utf-8"></script>
</head>
我也使用jquery作为插件。。。当我直接访问php时,页面工作正常。我错过什么了吗?

我不需要将页面定义为模板,只要我找到一种方法,使页面仅可供网站的注册用户访问

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

好啊

M-R使用完整路径而不是相对URL是正确的。一定要这样做

  • 从wp admin->页面创建一个名为任意的页面。标题将用于构建URL,因此请仔细选择,将此页面分配给模板“Tarot”
  • 该页面应该可以访问,但无论是否登录,每个人都可以访问
  • 要阻止未登录的用户,请执行以下操作:

    function block_tarot_template() {
         if (is_page_template(\'tarot.php\') && !is_user_logged_in()) { 
             wp_safe_redirect(get_bloginfo(\'url\').\'/wp-login.php\');
             // or possibly just include the login form
             // wp_login_form();
             // exit; // required if you want to include the form or the whole page will load below the form
         }
    }
    add_action(\'template_redirect\',\'block_tarot_template);
    
    查看模板的文件名。这必须匹配。这是最少的代码。如果要打印表单,需要为其提供适当的HTML上下文。您可以在模板中应用相同的想法,并有条件地交换表单和其他内容。

    http://codex.wordpress.org/Function_Reference/is_page_template

    http://codex.wordpress.org/Function_Reference/is_user_logged_in

    http://codex.wordpress.org/Function_Reference/wp_login_form

    SO网友:M-R

    我想,您的路径并不指向实际文件。尝试使用Firebug或类似工具来检查浏览器请求的位置以及文件实际驻留的位置。您的代码应该如下所示(假设您的主题名为“tarot”)

    <link rel="stylesheet" href="<? site_url(\'wp-content/themes/tarot/css/master.css\') ?>">
    
    <!-- Jquery main DB -->
    <script type="text/javascript" src="<? site_url(\'wp-content/themes/tarot/js/jquery-1.8.0.min.js\') ?>"></script>
    <script type="text/javascript" src="<? site_url(\'wp-content/themes/tarot/js/jquery-ui-1.8.24.custom.min.js\') ?>"></script>
    <script type="text/javascript" src="<? site_url(\'wp-content/themes/tarot/js/jquery.flip.js\') ?>"></script>
    
    <!-- Main custom javascript file -->
    <script src="<? site_url(\'wp-content/themes/tarot/js/db.js\') ?>" type="text/javascript" charset="utf-8"></script>
    
    **最好使用register scriptsenqueue 如有需要,请联系他们。目前,上述代码应该适合您。:-)

    结束