2016-11-07 122 views
1

我是新來的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做負載,但在任何地方的頁面我叫喜歡HOME_URL任何WordPress的()的函數或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> 

回答

0

按照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的一個新的頁面後端,並選擇你的頁面模板名稱在後端&另存爲模板(模板名稱在你的模板文件中的標頭調用之前給出)這一頁。

在發佈按鈕下面的頁面屬性部分,我們可以選擇頁面模板。

Screenshot attached

末,把這種新的頁面URL中的錨標記爲href值,而不是調用模板文件。

我們可以從頁面標題或頁面slu get中獲取頁面URL。

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

get_permalink(get_page_by_title('Your page title')) 
0

這是整個頁面的html?它應與

<?php get_header(); ?> 

開始和

<?php get_footer(); ?> 
+0

已添加,但情況相同。 – user3151013

0

最後,您應該分配你的頁面模板在WordPress的任何頁面,然後使用頁面的網址,而不是目前使用的。目前您正在使用錯誤的方式。請糾正它。另外不要忘記在模板中調用get_header()和get_footer()。

+0

如何將頁面模板分配給我的頁面? – user3151013

+0

http://www.hongkiat.com/blog/wordpress-custom-loginpage/ –

0

好吧,也許我們可以用另一種方式來。您的鏈接鏈接到頁面模板,而不是有點古怪的URL。也許這會導致Wordpress變得困惑並進入無限循環。

請問你爲什麼試圖鏈接到這個?是否需要定製樣式的登錄頁面,因爲還有其他解決方案。

你可以通過把這段代碼在你的主題的functions.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'); 

改變正常的WordPress登錄頁面上的標識然後只是鏈接到www.yourdomain.co.uk/wp-admin

但是,如果你要使用自定義登錄頁面,使用模板文件,目前的工作,這應該這樣開這樣的

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

,包括在該網頁。然後在Wordpress管理中創建一個頁面,並選擇模板「my-template」,並鏈接到該頁面的URL。

+0

是它的自定義登錄頁面。如何去整合它一些其他方式? – user3151013