过期域名预定抢注

 找回密碼
 免费注册

問個問題,wp裡面如果一個category裡面沒有post...高手幫忙。

[複製鏈接]
發表於 2013-11-2 14:16:17 | 顯示全部樓層 |閱讀模式
本帖最後由 非常小黑 於 2013-11-2 14:19 編輯
3 N5 @9 S. l2 {! Z+ c6 H2 N! L0 v9 Y( s  v6 d  ^
如果一個目錄對應的沒有post,那麼就變成404頁面,代碼如下:
  1. <?php if ( have_posts() ) : ?>
    3 p' C! F$ P& ]1 z# x: Q# J% L5 H0 ]
  2. ......1 F3 @& F* x5 U$ O) p
  3. <?php else : ?>, t/ e9 @' J; e9 g. l4 j
  4. <?php get_template_part( 'content', 'none' ); ?>4 @- n- E* ^4 X3 C4 h) _3 I& W
  5. <?php endif; ?>
    5 l( |) T8 v% X
複製代碼
但是我不想變成404頁面,我想變成一個自定義的頁面
" T, X8 f1 O7 d9 _8 q我把<?php get_template_part('content','none');?>部分,無論改成什麼,都沒用,他依然還是顯示404頁面。& ~' C! M' Z) J( o

" {4 G5 P! f9 u7 V6 d4 s誰能告訴我怎麼做?" o; H4 }" G* h8 J" o: F; h2 \

, E+ u- Q* o# f/ H2 z
, F0 e8 r4 l. E' o: _
% K; Y3 H2 r9 g  H! n1 `8 H% f6 C  W, S
: e/ i  |- ]3 K( Y8 b- j( C" i2 [4 S# {& ?' D

( B* {6 V( E6 ^8 r6 e0 ^) w5 E6 |
% j9 b  T/ Y/ d% b& o! H9 Z$ s  o& O
$ F, P. T" O1 P
發表於 2013-11-2 18:20:36 | 顯示全部樓層
我好像記得某些模板有自定義404頁面的功能,但實在是記不清了。
1 ~% @# s/ Z% t
回復 给力 爆菊

使用道具 舉報

發表於 2013-11-2 19:28:36 | 顯示全部樓層
這個就奇怪了, 我用的是默認主題, 9 g. t: y. T% g$ d1 N* w
修改category.php的5 q2 b$ F' S$ t1 {. G$ D% }+ F5 N- n
將<?php get_template_part( 'content', 'none' ); ?>的none改成empty-category6 c! U9 W! [' i( b! \
1 f5 u  \% N3 l; W
content-empty-category.php正常加載了...+ O# y" v* k! i0 y1 |

. N/ `4 }9 W. ]" g* d9 T; H( R沒法reproduce你的問題, 愛莫能助 6 V. ?2 |2 r3 W! K: J& m0 f$ E, i, v
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-2 21:49:43 | 顯示全部樓層
luguokankan 發表於 2013-11-2 19:28
+ d0 h. J* q) K  {7 v  o+ b9 d這個就奇怪了, 我用的是默認主題, ( z: P6 j! T+ O/ P# s
修改category.php的
* |3 r; r! e7 P將的none改成empty-category

1 p# Q3 A+ [1 A% i  A! [版主大人,你是wordpress 幾?
( Y3 O* [0 P9 W6 ?  _$ x1 v) r是2012主題嗎?
; w: [0 g+ f: `  `1 `; d
) {4 l5 K: _; q8 C# P
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-3 03:10:23 | 顯示全部樓層
luguokankan 發表於 2013-11-2 19:28 9 u# f' N2 x: O+ L
這個就奇怪了, 我用的是默認主題,
3 j' c" Y! h: u! R: [修改category.php的/ f& ~- b9 I3 r3 }% d
將的none改成empty-category

1 w1 n4 S9 B) J8 `8 ^7 {7 R對了。我是做了no-category處理,也就是把www.xxx.com/category/xxx.php改成www.xxx.com/xxx.php
) Z' ]  X- |# @% l, Z  S5 c' t: J7 Z0 k" Z
這種情況下,我無論怎麼修改,他都是404頁面。9 {# l5 ?. U2 S7 S; H9 n8 i. u5 G

. e% Q5 f1 r- M7 C1 R: W
回復 给力 爆菊

使用道具 舉報

發表於 2013-11-3 07:45:32 | 顯示全部樓層
非常小黑 發表於 2013-11-3 03:10
& ^& S1 T, ]3 F+ d9 o" F對了。我是做了no-category處理,也就是把www.xxx.com/category/xxx.php改成www.xxx.com/xxx.php了
+ [/ |3 f) i6 O
! r: T/ i9 i6 M& ?$ ?這種 ...
, S! c% f5 d0 y" j3 S6 y: F$ f
你說的404應該不是content-none.php? 7 n9 D7 g/ F/ i% r7 ?% z8 ^

9 u: H5 `- J; Y5 _  n而是404.php吧?9 o7 ^+ Y; J. F# }7 l

! {5 C; w3 p( x3 `( }2 r再加上no-category, 我覺得應該是wp把www.xxx.com/xxx.php當成文章處理了., [0 j* J( N+ @% ]* \8 E

+ Z4 t4 F. T* }1 w用的是http://wordpress.org/plugins/wp-no-category-base/ 這個插件嗎? : k2 Z4 v( R! C0 Y" t6 s3 y
: G8 D6 r0 f& W: O  A8 m' m
你給我說下插件,我才好幫你
4 o/ o! o% I% l7 H; F8 N: J6 E
% `( K* ]5 O6 ~' N9 ]5 k6 b2 Q- L* D! I, N1 b

8 x. H( U( X; k4 ?8 o
) e# T$ O, B$ f& l* a% A" b2 D: x; ^' Y/ ~' [
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-3 11:29:18 | 顯示全部樓層
本帖最後由 非常小黑 於 2013-11-3 11:31 編輯
( \6 U6 G  U4 ~" P3 {' z
luguokankan 發表於 2013-11-3 07:45 $ ^+ ^/ ?9 C1 V  W$ u2 d
你說的404應該不是content-none.php?
4 S, t0 R6 ?, d1 S4 D* ?6 w& X
8 m. p# m) k5 j8 V8 _! \  g+ A而是404.php吧?
% e& H. x, F' Q' S; }
用的seo-ultimate這個插件
/ l2 @* B' i1 N5 ^/ X2 {他裡面有去除category這個功能。
: H+ A* Z1 D4 a/ \$ ^* m  A2 S. k. w4 y0 C
是的,我無論如何修改elseif後面這段,他都顯示404
4 _& B8 ?5 z/ B( _% R% x. P+ e" ?* I( D" O& D) d7 X  L9 Q0 b: M
然後我去class-wp.php裡面修改function handle_404() . M  s, Q8 `3 @  |! M
去除is_category()部分,也沒用。3 ~# G8 X/ L& U3 A

1 m$ [: j" M4 e2 Q% m我懷疑,是不是wp把重寫了category目錄以後,就認為不是is_category了?
7 Z. @, L8 `5 C/ v0 ?( T6 B1 b
( X' z3 C  t6 B+ p
! m1 l5 g  x2 _5 c% P+ m: S
( ]6 x! m9 }) m  n" A2 ]" O) E( r
回復 给力 爆菊

使用道具 舉報

發表於 2013-11-3 12:33:30 | 顯示全部樓層
本帖最後由 luguokankan 於 2013-11-3 12:36 編輯 ' R  h4 V( e; }: ^+ Z
非常小黑 發表於 2013-11-3 11:29
2 \+ Q- U9 z9 t+ l+ k7 m用的seo-ultimate這個插件: ]! f* {! o+ j6 v
他裡面有去除category這個功能。
; U# R) p8 |1 v; ]- A. y, f' u
/seo-ultimate/modules/permalinks/permalinks.php
$ i$ u0 l* j: a& ~& ~
. z$ t' p1 p- z0 ?0 D5 ~  C$terms = get_terms($tax_name);$ {- o7 {; P" P

5 k! ?* H/ Y' s5 }% _( X, a改成
. @/ h, Z3 [0 U$ j0 o& J4 y9 a4 v" _5 g, l6 W2 T: @; E7 M
$terms = get_terms($tax_name,'hide_empty=0');# K5 `2 d. M5 u
& K+ i! F6 p) Y# `% q; B; I3 E( ?
要是再出現404, 請到Permalink Settings那裡按幾下"Save Changes".
2 b9 @  D/ b- V' `5 M" @: f1 g
$ t8 m9 e% d& h0 q& X: f+ p0 E9 t然後,你就可以修改主題的elseif了.* _0 |! q- ?- I: w  r$ }1 [
. ]+ x, J1 E; q( T- x  o
+ e- P: M) _$ o
---' Y5 S# [; a' s
原因,我稍微解釋下.  ( K' p$ n' e. f( u: k
- @* o# k% _# U, D8 U& `+ ~3 _- ]
wp會將居於permalink setting而生成的rewrite rules保存在數據庫.
3 t& W: C8 `1 H6 n: K* p
, _4 I, o' U: D4 @2 m! U  J  j0 w; ?當你訪問一個鏈接的時候, wp會跟這些rewrite rules對比,找出匹配的頁面返回給你.
& T, X  T) P4 B3 D, z( h
3 V9 Z9 w, ]' e你這個插件的問題是,他只生成post不為空的category的rewrite rules.9 c* ~4 M3 z4 ~2 ~" \0 t3 m. j, H

' t1 J# g' o. |% M* Z+ @/ m所以你訪問沒文章的category就404了......... 找不到匹配的頁面.
: D( q+ m9 u1 S. ?; \' r7 H
. X& f2 E0 v  T0 g6 X---
6 f8 A( P; n2 [  m6 _由於這些rewrite rules是存在數據庫裡的, 你要是修改插件的話, 這些rewrite rules不會立即生效.
/ T' O& t9 K- F0 k- F9 I$ {% R0 W) F5 y# x* Y& N: k
Permalink Settings的"Save Changes"按鈕能刷新這些rewrite rules( }7 W9 ^+ O7 r! \

1 }7 l# h* A7 s" h' S0 E+ h8 t" J
& R) L- B( N! T( W( V6 d

評分

參與人數 1點點 +4 收起 理由
非常小黑 + 4 楼主好牛

查看全部評分

回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-3 16:45:22 | 顯示全部樓層
luguokankan 發表於 2013-11-3 12:33
# R( o- J  }' S$ m/ w/seo-ultimate/modules/permalinks/permalinks.php
$ S. _( |; A& P6 v1 u' N5 m- i  `; D) v: G
$terms = get_terms($tax_name);

3 d( b2 z* C" I: b# }果然如此啊。。。哥你太棒了。。。
2 h' I6 g" H* R; y. p! C4 c. w佩服佩服。, u" t$ W& y  U" K' ^+ _/ J

. C2 k+ |" b: z! s

點評

搞技术的太苦逼了.. 大哥有啥好路子,带下小弟哦  發表於 2013-11-3 19:36
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

过期高净值品牌域名预定抢注

點基跨境 數位編輯創業論壇

GMT+8, 2025-7-11 10:48

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表