过期域名预定抢注

 找回密碼
 免费注册

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

[複製鏈接]
發表於 2013-11-2 14:16:17 | 顯示全部樓層 |閱讀模式
本帖最後由 非常小黑 於 2013-11-2 14:19 編輯
) C: [; f; u  b9 R& X8 P/ O1 e, w$ e' y* A. U  P1 M3 ~4 W: c3 ?
如果一個目錄對應的沒有post,那麼就變成404頁面,代碼如下:
  1. <?php if ( have_posts() ) : ?>6 f! ]$ K8 _, @% Z6 G5 }
  2. ....../ n7 A5 T( `, F. `7 @
  3. <?php else : ?>( n6 S, P% S7 ]+ Y0 I* v
  4. <?php get_template_part( 'content', 'none' ); ?>+ H. H5 e+ D4 [/ \) _( u5 _
  5. <?php endif; ?>
    $ q5 ?+ Y3 x. V" {/ Y
複製代碼
但是我不想變成404頁面,我想變成一個自定義的頁面" ?% ^  g2 a  t  I. E
我把<?php get_template_part('content','none');?>部分,無論改成什麼,都沒用,他依然還是顯示404頁面。
( R# ]7 i% ~! e3 B% i& H; ]
+ W7 `# o; c  i' Y誰能告訴我怎麼做?
2 F5 W+ _# w4 O4 m( ?
* {* i8 F3 B- L" i) `# T, X2 L- b$ b$ Z9 ^2 d1 Q

6 V( X1 [4 t7 T( E
/ N  Z4 x0 [3 }& x
4 x) `; Z/ q4 x2 I) |: F2 n( h( D: V* |
+ X8 J$ T# j. |, {8 M
  C9 X/ {! V( v/ ]8 B# c8 Q' c: C
6 U  I- j2 m" B! v6 k  N- w" O# z
發表於 2013-11-2 18:20:36 | 顯示全部樓層
我好像記得某些模板有自定義404頁面的功能,但實在是記不清了。
* V- P' ^1 Q' E; w' `6 ~6 g
回復 给力 爆菊

使用道具 舉報

發表於 2013-11-2 19:28:36 | 顯示全部樓層
這個就奇怪了, 我用的是默認主題, * a. g6 t% O/ j9 @( z
修改category.php的) q6 D" Z& p7 g8 b1 a
將<?php get_template_part( 'content', 'none' ); ?>的none改成empty-category
( J" C3 h! {) x5 t6 d! b2 Y5 |# j# h/ a& I
content-empty-category.php正常加載了...
1 L, t1 @" v) I' J# ]9 g( l: \/ c0 f3 s* ]0 A
沒法reproduce你的問題, 愛莫能助
& w, ~9 T9 _9 ~9 q+ v' W- _2 A. X
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-2 21:49:43 | 顯示全部樓層
luguokankan 發表於 2013-11-2 19:28 . e- A1 R$ A+ ?( @8 p5 j( w9 _
這個就奇怪了, 我用的是默認主題,
; `/ `7 d9 U( v) R* s( ~8 P修改category.php的
$ T# q" K' U, j) ]# t2 `$ x$ U6 I將的none改成empty-category
7 [. _6 c4 R  h+ l( c7 n. B
版主大人,你是wordpress 幾?8 h1 P' ^  R( y: E$ ]; N  n
是2012主題嗎?
; K. J. @' u6 Q% j8 \: h; t3 D+ s' q+ B
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-3 03:10:23 | 顯示全部樓層
luguokankan 發表於 2013-11-2 19:28 ) j- {% z7 @; o* N' E! w
這個就奇怪了, 我用的是默認主題,
: I$ W/ B9 I( ]3 o8 l6 g修改category.php的
7 V) p" [& ^9 r" K將的none改成empty-category
2 }# L% |' h" \3 K2 w
對了。我是做了no-category處理,也就是把www.xxx.com/category/xxx.php改成www.xxx.com/xxx.php
  r( l% j9 f1 R  Z4 z
8 I; ~5 x3 J" F: V" I這種情況下,我無論怎麼修改,他都是404頁面。5 w( d+ j6 @& B6 q0 H$ H2 {8 c
! T2 C+ b( {1 L" U4 L
回復 给力 爆菊

使用道具 舉報

發表於 2013-11-3 07:45:32 | 顯示全部樓層
非常小黑 發表於 2013-11-3 03:10 4 S4 f# s  R) I6 S
對了。我是做了no-category處理,也就是把www.xxx.com/category/xxx.php改成www.xxx.com/xxx.php了
9 p; {9 Q. P3 B9 I9 R& ~, k) V# l1 C* }: e$ S6 W5 P
這種 ...

5 k- C% b; F* Z) O. t你說的404應該不是content-none.php?
! a3 R6 c& p' T' b! D9 b: V) i2 S. U5 ]
而是404.php吧?
6 o1 p( T8 j" J6 e9 y0 |5 n" e/ X) x9 O! F2 p7 b; P2 X3 _
再加上no-category, 我覺得應該是wp把www.xxx.com/xxx.php當成文章處理了.2 h! h% G0 \- ]  Q9 j

* a$ t/ z: Y; r' q9 I用的是http://wordpress.org/plugins/wp-no-category-base/ 這個插件嗎?
! D3 w) {( [6 V6 U1 @* O" `2 r
. l# z, \, |2 c1 B$ U你給我說下插件,我才好幫你
% r; P6 I/ J) t7 f/ Q/ Y
3 {; W5 C8 c" R' `; [9 ]8 c
9 Z  |" s5 G+ L& ?8 M( v# _, B
+ ~& x/ f/ A  H( R4 B2 C. e0 ]* ?

7 `. u- Q, h  q) E
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-3 11:29:18 | 顯示全部樓層
本帖最後由 非常小黑 於 2013-11-3 11:31 編輯
* n8 @6 H$ r% }* ?& P
luguokankan 發表於 2013-11-3 07:45 * }& o. K. q6 C$ L% E& P2 C
你說的404應該不是content-none.php?
* d2 A# t) F) L# l7 T# \! q9 a6 |/ a7 h( G* ?8 U& w
而是404.php吧?

: t9 D' l& ]& ^$ H% t' |用的seo-ultimate這個插件
. ]2 U& B2 S- N1 n" I+ F9 q他裡面有去除category這個功能。3 V5 x5 L3 M) S2 Y" Z' s+ C! O
) M0 o% H* Z/ u$ i; B' [+ g! b
是的,我無論如何修改elseif後面這段,他都顯示4045 r9 C9 w4 l% _  z+ [! Q/ g

; m" s5 |8 z( }9 [0 [然後我去class-wp.php裡面修改function handle_404() * u/ T7 C' z3 ~! A
去除is_category()部分,也沒用。$ Y+ p/ Y' a, z( k0 \4 h

! |  R$ y# K: G5 W我懷疑,是不是wp把重寫了category目錄以後,就認為不是is_category了?
- z# {( {$ f( c$ e8 {0 }/ v% {8 ^, \$ v* k0 Y3 V" j- ~/ R
, I) t. g0 Y5 [+ |: C5 O0 {& u
' |  ?9 q4 D, @; e; \+ s7 |  R
回復 给力 爆菊

使用道具 舉報

發表於 2013-11-3 12:33:30 | 顯示全部樓層
本帖最後由 luguokankan 於 2013-11-3 12:36 編輯 5 h9 y: I0 R$ K9 ~' U6 T# M$ u$ s
非常小黑 發表於 2013-11-3 11:29
% M6 u6 c2 h1 R, C& S/ W2 [用的seo-ultimate這個插件
" L* w0 l% e/ E% ]7 a他裡面有去除category這個功能。
) x2 `- t1 s' R
/seo-ultimate/modules/permalinks/permalinks.php
) ]! N+ Z/ {# E& n) f/ f9 f# L0 O8 }2 G0 d3 `$ {% S' `* M8 j
$terms = get_terms($tax_name);+ l; o8 A- {/ d# _
* {5 d/ g8 D' l, n. |
改成
; Q2 w9 ?0 R" W) V# c
) ~5 M$ u- O* k5 v9 F; E$ |$terms = get_terms($tax_name,'hide_empty=0');
' F. `$ I8 S2 A/ d/ |) U  q) R5 i% x: v* ~8 B' _6 Z7 c; R, i3 n
要是再出現404, 請到Permalink Settings那裡按幾下"Save Changes".' k" y: w  q, G+ S0 b! N  s8 ^. ~, ^3 P

/ c: f: g) a! E0 ]然後,你就可以修改主題的elseif了.$ I: k; n% W; }5 v0 D

3 |4 X7 }8 l8 S9 y
8 z4 i) B. j2 X---& ?& p/ E* S1 p0 `
原因,我稍微解釋下.  ( n' U  o; g  s7 S, F& @# Q

3 s1 M, V2 P7 V7 `. Lwp會將居於permalink setting而生成的rewrite rules保存在數據庫.- C' \# r3 \' M- K
3 ], J, r% `1 h$ L. ~# ~
當你訪問一個鏈接的時候, wp會跟這些rewrite rules對比,找出匹配的頁面返回給你.9 k% a' J/ V4 A; W( {* W

+ U" E. D9 a3 v& q- k& T4 L你這個插件的問題是,他只生成post不為空的category的rewrite rules.% ], D4 o0 r9 ], l! |: J3 O

, w9 f# G, C3 u: P0 o$ e所以你訪問沒文章的category就404了......... 找不到匹配的頁面.
; x( G8 K; J+ C0 ^! e; |* n% Y1 e, {
---
) ?0 m/ o- ]) w2 C由於這些rewrite rules是存在數據庫裡的, 你要是修改插件的話, 這些rewrite rules不會立即生效.
+ V5 V1 t; Z! n/ a
' n- {. Y: ?' P( ^$ |: n. pPermalink Settings的"Save Changes"按鈕能刷新這些rewrite rules
1 v6 D% W, c/ N
( m( V# H4 b+ T. e. n- v
$ n7 |7 U3 r- c& a+ P/ \

評分

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

查看全部評分

回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-3 16:45:22 | 顯示全部樓層
luguokankan 發表於 2013-11-3 12:33 & W1 k& k1 `  Q8 A
/seo-ultimate/modules/permalinks/permalinks.php
1 W# J! j& D: C, N% o6 {* I  y6 M' U$ B: x2 E2 L* v
$terms = get_terms($tax_name);

6 ^" C$ l! V0 e( b果然如此啊。。。哥你太棒了。。。
( F9 R. \) c* v佩服佩服。
! V& H& f* \, ^4 E" I5 h5 R% ?# _/ m7 u/ Z2 C- X  |

點評

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

使用道具 舉報

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

本版積分規則

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

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

GMT+8, 2025-5-26 05:29

By DZ X3.5

小黑屋

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