Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Woocommerce我的帐户自定义页-未找到404页(永久链接问题)_Php_Wordpress_Woocommerce_Permalinks_Custom Pages - Fatal编程技术网

Php Woocommerce我的帐户自定义页-未找到404页(永久链接问题)

Php Woocommerce我的帐户自定义页-未找到404页(永久链接问题),php,wordpress,woocommerce,permalinks,custom-pages,Php,Wordpress,Woocommerce,Permalinks,Custom Pages,我试图在Woocommerce的我的帐户部分创建一个自定义页面,但是当我打开这个页面时,我得到404(找不到页面)。我试图在设置->永久链接中重新保存(刷新)永久链接,但没有任何变化(404页未找到)。我用的是permalink类型“https://mywebsite.com/sample-post/". 当我将永久链接类型更改为“https://mywebsite.com/?p=123“它正在工作,页面显示。有人能告诉我问题出在哪里,为什么它使用的是“普通”永久链接,而不是“Post name

我试图在Woocommerce的我的帐户部分创建一个自定义页面,但是当我打开这个页面时,我得到404(找不到页面)。我试图在设置->永久链接中重新保存(刷新)永久链接,但没有任何变化(404页未找到)。我用的是permalink类型“https://mywebsite.com/sample-post/". 当我将永久链接类型更改为“https://mywebsite.com/?p=123“它正在工作,页面显示。有人能告诉我问题出在哪里,为什么它使用的是“普通”永久链接,而不是“Post name”永久链接? 以下是我的代码片段:

// 1. Register new endpoint to use for My Account page
// Note: Resave Permalinks or it will give 404 error
  
function bbloomer_add_premium_support_endpoint() {
    add_rewrite_endpoint( 'premium-support', EP_ROOT | EP_PAGES );
}
  
add_action( 'init', 'bbloomer_add_premium_support_endpoint' );
  
  
// ------------------
// 2. Add new query var
  
function bbloomer_premium_support_query_vars( $vars ) {
    $vars[] = 'premium-support';
    return $vars;
}
  
add_filter( 'query_vars', 'bbloomer_premium_support_query_vars', 0 );
  
  
// ------------------
// 3. Insert the new endpoint into the My Account menu
  
function bbloomer_add_premium_support_link_my_account( $items ) {
    $items['premium-support'] = 'Premium Support';
    return $items;
}
  
add_filter( 'woocommerce_account_menu_items', 'bbloomer_add_premium_support_link_my_account' );
  
  
// ------------------
// 4. Add content to the new endpoint
  
function bbloomer_premium_support_content() {
echo '<h3>Premium WooCommerce Support</h3><p>Welcome to the WooCommerce support area. As a premium customer, you can submit a ticket should you have any WooCommerce issues with your website, snippets or customization. <i>Please contact your theme/plugin developer for theme/plugin-related support.</i></p>';
echo do_shortcode( ' /* your shortcode here */ ' );
}
  
add_action( 'woocommerce_account_premium-support_endpoint', 'bbloomer_premium_support_content' );
// Note: add_action must follow 'woocommerce_account_{your-endpoint-slug}_endpoint' format
//1。注册新端点以用于“我的帐户”页面
//注意:重新保存永久链接,否则将出现404错误
函数bbloomer\u添加\u高级\u支持\u端点(){
添加|重写|端点('premium support',EP|U根| EP|U页面);
}
添加操作('init','bbloomer''add''premium''support''endpoint');
// ------------------
// 2. 添加新的查询变量
功能bbloomer\u高级\u支持\u查询\u变量($vars){
$vars[]=“高级支持”;
返回$VAR;
}
添加过滤器('query\u vars'、'bbloomer\u premium\u support\u query\u vars',0);
// ------------------
// 3. 将新端点插入“我的帐户”菜单
功能bbloomer\u添加\u高级\u支持\u链接\u我的帐户($items){
$items['premium-support']='premium-support';
退回$items;
}
添加过滤器(“woocommerce\u帐户\u菜单\u项目”、“bbloomer\u添加\u高级\u支持\u链接\u我的帐户”);
// ------------------
// 4. 向新端点添加内容
功能bbloomer\u高级\u支持\u内容(){
echo“高级WooCommerce支持欢迎来到WooCommerce支持区。作为高级客户,如果您的网站、代码片段或自定义有任何WooCommerce问题,您可以提交一张罚单。请联系您的主题/插件开发人员以获得主题/插件相关支持。

”; echo do_短代码('/*此处为您的短代码*/); } 添加操作('woocommerce\u account\u premium-support\u endpoint'、'bbloomer\u premium\u support\u content'); //注意:添加操作必须遵循“woocommerce\u帐户{your endpoint slug}\u endpoint”格式
请您转到设置->永久链接,尝试重新保存并再次检查。

该代码与“Post name”永久链接配合得很好……因此,在您的情况下,还有其他一些问题,如其他插件、主题或其他自定义代码。我尝试并停止了所有插件和代码段。还尝试将主题更改为默认主题,但没有更改-它将返回未找到的页面(404)。有趣的是,如果我将permalinks类型更改为“Plain”,它就工作了……对我来说,它工作了,我对StackOverFlow有一个类似的工作答案:这并不能回答这个问题。一旦你有足够的钱,你将能够;相反