2016-01-21 3 views
0

Я пытаюсь создать вкладку «Моя учетная запись» в woocommerce. Я создал свои страницы в php с помощью bootstrap css и включил верхний и нижний колонтитулы Wordpress, чтобы страница загружалась правильно. Лапки дисплей, как ожидалось У меня возникли проблемы с конечной точкой в ​​URLs WooCommerce:настроить URL-адрес конечной точки в woocommerce

- 'edit-address' 

- 'view-order' 

Эти конечные точки генерируются динамически и прилагаемую к URL: www.site-name.com/my-account/edit -адрес Вот вызов функции (в файле .plugins/WooCommerce/MyAccount/форм-Edit-address.php):

<a href="<?php echo wc_get_endpoint_url('edit-address', $name ); ?> 

Я включил 'свои-адреса' на моей странице с закладками, которые dispays ок. Однако ссылка для редактирования адресов доставки и биллинга генерируется вышеуказанным вызовом конечным точкам. При щелчке ссылки страница не загружается и возвращает ошибку 404.

Моя персонализированная страница PHP в основном www.site-name.com/account/edit-address

Проблема заключается в том:

  • Содержание «редактировать-адрес» страница не загружается и я получить ошибку 404

Я предполагаю, что проблема вызвана тем, что мои страницы являются внешними php-страницами и не хранятся в базе данных wp?

Есть ли способ настроить URL-адрес конечной точки, чтобы он правильно добавлял и загружал страницу?

Ссылка на страницу на моем сайте: www.thecookerytutor dot co dot uk/account

оригинальный WooCommerce страница мой-счет: www.thecookerytutor dot co dot uk/my-account (Вам нужно будет создать логин для просмотра обеих страниц)

Это было меня в тупик в течение нескольких дней! Спасибо заранее.

Код для моей вкладки адреса на моей пользовательской странице PHP, как обещал ...

echo "<div id = 'edit-addresses' class='tab-pane fade'>"; 
       echo "<div id = 'content' class = 'page col-full'>"; 
       echo "<section id = 'main' class = 'col-left'>"; 
       echo "<BR>"; 
         include "my-address.php"; 
       echo "</section>"; 
      echo "</div>"; 
    echo "</div>";` 

Как вы можете видеть, я в том числе страницы туалет, который загружает адреса (я скопировал в локальную папку) Вот содержимое edit-address.php (я скопировал его в свою локальную папку и добавил wp-заголовок). Страница загружает заголовок, но функция получить адрес терпит неудачу в строке 50.

<?php 

define('WP_USE_THEMES', false); 

require('../wp-blog-header.php'); 

add_filter('wp_title', 'wp_title_so_18381106', 10, 3); 
function wp_title_so_18381106($title, $sep, $seplocation) 
{ 
    return 'Your Account | '; 
} 

get_header(); 
?> 
<?php 
/** 
* Edit address form 
* 
* @author  WooThemes 
* @package  WooCommerce/Templates 
* @version  2.1.0 
*/ 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

global $current_user; 

$page_title = ($load_address === 'billing') ? __('Billing Address', 'woocommerce') : __('Shipping Address', 'woocommerce'); 

get_currentuserinfo(); 

?> 

<?php wc_print_notices(); ?> 

<?php //if (! $load_address) : ?> 

    <?php //wc_get_template('myaccount/my-address.php'); ?> 

<?php //else : ?> 
    <form method="post"> 

     <h3><?php echo apply_filters('woocommerce_my_account_edit_address_title', $page_title); ?></h3> 

     <?php do_action("woocommerce_before_edit_address_form_{$load_address}"); ?> 

/не удается загрузить здесь/

<?php foreach ($address as $key => $field) : ?> 

       <?php woocommerce_form_field($key, $field, ! empty($_POST[ $key ]) ? wc_clean($_POST[ $key ]) : $field['value']); ?> 

      <?php endforeach; ?> 

      <?php do_action("woocommerce_after_edit_address_form_{$load_address}"); ?> 

      <p> 
       <input type="submit" class="button" name="save_address" value="<?php _e('Save Address', 'woocommerce'); ?>" /> 
       <?php wp_nonce_field('woocommerce-edit_address'); ?> 
       <input type="hidden" name="action" value="edit_address" /> 
      </p> 

     </form> 

    <?php //endif; ?> 
+0

Какой URL-адрес вы получаете? и что должно было быть правильным URL? – Reigel

+0

URL теперь добавляется правильно: www.site-name.com/account/edit-address/billing, но я все еще получаю ошибку 404. – user3464091

+0

, так что теперь нет проблем? – Reigel

ответ

0

WooCommerce плагин для WordPress, вы не можете использовать его без WordPress ... например /my-account/edit-address/, что my-account на самом деле является страницей, которую вы представляете, и edit-address - это просто переменная. edit-address был добавлен в качестве конечной точки к my-account. вам нужно сделать то же самое для вашего account.

Вы должны получить представление об what endpoints are.

Другие мысли об этом. Если вы действительно хотите использовать account, а не my-account, загляните на свои страницы для «Моя учетная запись» и измените его постоянную ссылку. Вы также можете создать другую страницу, которая может использовать account в своей постоянной ссылке. Затем используйте эту страницу в своей WooCommerce> Настройки> Учетная запись> Моя учетная страница.

Если у вас есть пользовательские php-коды, вы можете просто скопировать шаблон из своего плагина woocommerce в папку темы и отредактировать необходимый вам файл. Прочтите Template Structure + Overriding Templates via a Theme.

И если я не обратился к вашей проблеме, прокомментируйте ниже.

+0

Спасибо. Как я уже сказал в своем первоначальном вопросе, я включил заголовок и нижний колонтитул Wordpress, поэтому пользовательские страницы php загружаются так, как ожидалось. Все отлично от конечных точек, которые, как вы говорите, являются переменной и не указывают на какую-либо страницу как таковую. Мне нужно, чтобы контент из адреса редактирования загружался по адресу, а не по умолчанию. На данный момент он дает ошибку 404 страницы. – user3464091

+0

Я не знаю, как вы это делаете. Я не могу предложить больше. – Reigel

+0

Я обновил свой вопрос для уточнения и предоставил ссылку на мой сайт. Если вы создаете учетную запись, я могу показать вам поведение страницы. Спасибо за вашу помощь @Reigel. – user3464091

Смежные вопросы