Wordpress功能会停止页面渲染

时间:2016-11-07 10:20:02

标签: php html wordpress

我是Wordpress的新手所以请在这里忍受。

我正在使用以下链接从wordpress页面导航到另一个页面:

<a href="<?php echo site_url(); ?>/wp-content/themes/woffice-child-theme/page-templates/loginF.php"><img src="./wp-content/themes/woffice-child-theme/page-templates/images/signin-btn.png"></a>

loginF.php确实加载但是从页面的任何地方我调用任何wordpress函数,如home_url()或wp_login_form(),页面停止渲染。例如,如果我将home_url()放在页面的开头,那么我在浏览器中会得到一个空页面。为什么会这样?我是否会以某种方式走出wordpress背景?怎么办?

这是loginF.php:

<html>

<?php
  $redirect_url = home_url();

?>

  <head>
    <title>Title</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" type="text/css" href="/wp-content/themes/woffice-child-theme/page-templates/style2.css">
    <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700" rel="stylesheet">
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,300' rel='stylesheet' type='text/css'>
  </head>
  <body>

    <div class="frontpage-content">      
      <div class="front-wrap"> 
        <br/>
        <div class="new-login-logo text-center"><img src="/wp-content/themes/woffice-child-theme/page-templates/images/new-login-logo.png"></div>
        <br/><br/>
        <div class="frontpage-fields">
          <input type="text" name="log" id="user" class="input" placeholder="Email Address">
          <input type="password" name="pwd" id="pass" class="input" placeholder="Password">
        </div>
        <div class="forgot-password-new"><a href="#">Forgot your password?</a></div>
        <br/>
        <div class="text-center"><a href="#"><img src="./images/captcha-image.png"></a></div>
        <br/>
        <div class="text-center new-login-space"><a href="#"><img src="/wp-content/themes/woffice-child-theme/page-templates/images/new-login-btn.png"></a></div>



      </div>
    </div>

  </body>
</html>

4 个答案:

答案 0 :(得分:3)

根据WordPress标准创建新的页面模板。

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

<!-- Your code goes here -->

<?php get_footer(); ?>

https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates/

然后从WordPress后端创建一个新页面并选择您的页面模板名称(模板名称在模板文件中的标题调用之前给出)作为模板在后端&amp;保存页面。

在发布按钮下方的页面属性部分,我们可以选择页面模板。

Screenshot attached

最后,将锚标记中的新网页网址称为href值,而不是调用模板文件。

我们可以从页面标题或页面slug中获取页面URL。

get_permalink( get_page_by_path( 'your-page-slug' ) )

get_permalink( get_page_by_title( 'Your page title' ) )

答案 1 :(得分:0)

这是整个页面的HTML吗?它应该以

开头
    <?php get_header(); ?> 

结束
    <?php get_footer(); ?>

答案 2 :(得分:0)

您应该将页面模板分配给Wordpress中的任何页面,然后使用页面网址而不是使用当前页面。目前你使用的方式不对。请更正它。另外,不要忘记在模板中调用get_header()和get_footer()。

答案 3 :(得分:0)

好吧,也许我们可以用另一种方式来。您的链接链接到页面模板,而不是有点奇怪的URL。也许这会导致Wordpress混淆并陷入无限循环。

我可以问你为什么试图链接到这个?它适用于定制风格的登录页面,因为还有其他解决方案。

您可以通过将此代码放在主题函数中来更改常规Wordpress登录页面上的徽标.php

    // log in logo link
    add_filter( 'login_headerurl', 'custom_loginlogo_url' );
      function custom_loginlogo_url($url) {
      return 'http://www.yourlink.co.uk';
    }
    // login logo
    function my_login_logo() { ?>
      <style type="text/css">
        body.login div#login h1 a {
          background-image: url(<?php echo get_stylesheet_directory_uri(); ?>/library/images/logo.png);
          padding-bottom: 15px;
          height: 74px;
          width: auto;
          background-size: 60% auto;
        }
      </style>
    <?php }
    add_action( 'login_enqueue_scripts', 'my_login_logo' );

然后只需链接到www.yourdomain.co.uk/wp-admin

但是,如果您打算使用自定义登录页面,请使用当前有效的模板文件,该文件应该以这样的方式打开

    <?php /* Template Name: my-template */ ?>

并包含在该页面中。然后在Wordpress管理员中创建一个页面并选择模板“my-template”并改为链接到该页面的URL。