过期域名预定抢注

 找回密碼
 免费注册

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

[複製鏈接]
發表於 2013-11-2 14:16:17 | 顯示全部樓層 |閱讀模式
本帖最後由 非常小黑 於 2013-11-2 14:19 編輯
& G: E8 y0 l8 H/ }1 S& b
% o5 g. e0 z9 p7 H' C# c* J5 J) _如果一個目錄對應的沒有post,那麼就變成404頁面,代碼如下:
  1. <?php if ( have_posts() ) : ?>
    0 B, r! Z; `1 g( V" n5 b
  2. ......
    3 i7 T2 M4 \- g+ ^
  3. <?php else : ?>3 h5 @9 e' a! n' t% ^+ Q0 T. v; m
  4. <?php get_template_part( 'content', 'none' ); ?>$ F$ R' k8 ~- C* ~/ N6 r
  5. <?php endif; ?>3 B$ r: k5 q% @+ ^8 y
複製代碼
但是我不想變成404頁面,我想變成一個自定義的頁面5 W6 i$ m' V3 Y- m; Q3 X$ i
我把<?php get_template_part('content','none');?>部分,無論改成什麼,都沒用,他依然還是顯示404頁面。
! {! Y! ~; a5 }8 H$ N1 U1 {# b7 o7 m1 O4 ?5 G) a* A# \* C
誰能告訴我怎麼做?* \3 L- ]7 r7 r. Q5 r+ m$ N, t

/ s8 k$ P% ]# J$ z" \
0 f% \- N9 C/ Z
5 R  t* ^) r7 `1 J0 `; w) f  {) y" E$ l  k

3 P3 G3 J% H( r. U3 u, x4 E6 h# Z: w' i1 U
' A6 H( n/ V) R. C2 D( Q, {

0 k' Q& q, J1 z" x9 o
9 @* d  v5 M$ g+ D) ]* z2 e
發表於 2013-11-2 18:20:36 | 顯示全部樓層
我好像記得某些模板有自定義404頁面的功能,但實在是記不清了。
3 {& M0 w: W. z/ ?* U, P
回復 给力 爆菊

使用道具 舉報

發表於 2013-11-2 19:28:36 | 顯示全部樓層
這個就奇怪了, 我用的是默認主題,
, N# X5 n3 }5 s6 f* O, f. g8 o) a  K修改category.php的
) X- y' c" X" {; l: e將<?php get_template_part( 'content', 'none' ); ?>的none改成empty-category
  C! C4 `4 R) A4 L9 {5 z* [* Y( X2 S6 ~8 h
content-empty-category.php正常加載了...6 B$ b8 a7 ]' Y% Z: i
- O3 B( _1 d9 n/ D0 J+ a
沒法reproduce你的問題, 愛莫能助 / V5 s* ^3 ?  a
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-2 21:49:43 | 顯示全部樓層
luguokankan 發表於 2013-11-2 19:28
  t) v& o- @) X$ m, Y& s: j+ |# o這個就奇怪了, 我用的是默認主題,
7 k1 Z1 {6 g- I& I修改category.php的
) @8 ^( F  e' F9 a% }* a4 ?" B4 L# [將的none改成empty-category
0 h8 c9 E9 O3 T% i
版主大人,你是wordpress 幾?1 g) i. j8 z. E/ r0 ]
是2012主題嗎?
- O6 L# b# N( V! H( p$ i5 ~( e9 u. g& n( |* R4 R4 \1 T0 f
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-3 03:10:23 | 顯示全部樓層
luguokankan 發表於 2013-11-2 19:28 3 f, H  N' a+ {) {, k
這個就奇怪了, 我用的是默認主題, ( F) V! h! d4 ]8 I1 }
修改category.php的8 Z, @- G4 k/ d
將的none改成empty-category

3 k/ `" h& Z4 n' q3 \0 c! a對了。我是做了no-category處理,也就是把www.xxx.com/category/xxx.php改成www.xxx.com/xxx.php
3 }0 j3 {8 Y) Y' ^$ o$ ^8 `/ i5 e5 {& F4 F! H- W( d9 \% O, D
這種情況下,我無論怎麼修改,他都是404頁面。
4 E7 V4 v. y  K
7 W9 K* x7 C- G+ C
回復 给力 爆菊

使用道具 舉報

發表於 2013-11-3 07:45:32 | 顯示全部樓層
非常小黑 發表於 2013-11-3 03:10 $ O' s+ e5 e! l: ^5 ]8 H
對了。我是做了no-category處理,也就是把www.xxx.com/category/xxx.php改成www.xxx.com/xxx.php了
% A- B3 J0 t5 {5 B8 I: e0 I' X" D5 |4 U
這種 ...
/ V- g7 i/ [; K8 p
你說的404應該不是content-none.php?
- `, w# g; ]; \; M7 w& t- G
+ ^- f0 [: o; I; ?5 d- {- |* j$ j而是404.php吧?. J' F" E! D' h6 b+ _; {
, u; D1 U  M8 M1 Z
再加上no-category, 我覺得應該是wp把www.xxx.com/xxx.php當成文章處理了.; W& z( H, o- a

# k0 |' `2 A5 n9 A用的是http://wordpress.org/plugins/wp-no-category-base/ 這個插件嗎?
- |  H& D- i) N5 P! S6 Q4 z; D) d! }6 z5 d& r' P5 L9 w
你給我說下插件,我才好幫你3 i( g& R0 Z) L
( L( ^8 P# \$ @9 r6 B" p6 i" e$ T

. g0 g( n! o. t0 w9 h( d3 _
1 [  F: |$ q1 D4 h3 o8 N
8 Y+ w; |9 p7 C0 u  D$ U; j' [! d2 d; ?, D% x
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-3 11:29:18 | 顯示全部樓層
本帖最後由 非常小黑 於 2013-11-3 11:31 編輯 , c8 x/ c0 v, S& [. C; q
luguokankan 發表於 2013-11-3 07:45
# ]" N& r) E/ v9 Z+ e你說的404應該不是content-none.php?
) V7 G2 v% ^* |1 C
$ x) J: c' N6 W1 p8 H/ g. |而是404.php吧?

1 b% k# W$ \3 [0 C% N: v" B  ]2 s用的seo-ultimate這個插件
5 w$ ?$ w4 E$ R8 F$ I他裡面有去除category這個功能。
5 W1 r2 I9 @: P0 s; ]/ D+ D  @4 L. v. Y2 s1 ~# v
是的,我無論如何修改elseif後面這段,他都顯示404
6 M, b# K- K9 m& q/ J: J! E8 s3 M
! s& A8 R% e4 c* R" j然後我去class-wp.php裡面修改function handle_404() ' ]- ?! X0 E1 ?% p  }, ]4 G* L
去除is_category()部分,也沒用。
8 |( ]4 |4 s- I* D( t8 l/ g
' K0 {$ `: g& g' {. ^# K我懷疑,是不是wp把重寫了category目錄以後,就認為不是is_category了?
# A* ]: @: }. d: b2 |, C
" A4 x) W! j( N+ L; z4 A0 i. F" n9 c, g0 O
( {5 n& C# C" V: Q% W
回復 给力 爆菊

使用道具 舉報

發表於 2013-11-3 12:33:30 | 顯示全部樓層
本帖最後由 luguokankan 於 2013-11-3 12:36 編輯
( Z4 x* ^0 p8 D8 w  ]6 o% J: w
非常小黑 發表於 2013-11-3 11:29 . t3 I+ A$ h, w* y, b0 q
用的seo-ultimate這個插件0 d* o. n7 t9 k# s: N
他裡面有去除category這個功能。

8 p) ]/ `# x3 X4 v" k5 {( d: j: I/seo-ultimate/modules/permalinks/permalinks.php. a0 w& y2 w; t* V8 G7 ~" n

( }. t. j5 {0 ?3 s: C6 h$terms = get_terms($tax_name);
& T- ]) E" M8 N; X
/ J! p+ e% k0 P& H8 R改成2 ^, i+ r7 A4 h
- V( u- A4 ^& h# G& X$ f1 n
$terms = get_terms($tax_name,'hide_empty=0');
$ m3 J7 ]) K: `' W: ~; r/ F( S, Y2 t
要是再出現404, 請到Permalink Settings那裡按幾下"Save Changes".
* \3 x' J" J) o
0 w$ S; k6 f2 v' X然後,你就可以修改主題的elseif了.. `4 H* n" Z& ?' i! j$ O
' R/ B+ O1 l0 E, R2 ~
, Y& v. I! \- j+ K6 B
---
* C3 f! B* I4 a$ h( a2 E原因,我稍微解釋下.  / \1 m# R3 f. l/ a

$ X8 G8 ?7 \& m% ~( `, ]2 N5 Cwp會將居於permalink setting而生成的rewrite rules保存在數據庫.7 R2 t+ X6 V2 k; W/ }2 m

) U, l- J! \) L# w& G5 ?% L& @當你訪問一個鏈接的時候, wp會跟這些rewrite rules對比,找出匹配的頁面返回給你.$ w8 Q# H7 z8 F! n, w& D
$ G3 J" g: }- J/ `5 W- a& h
你這個插件的問題是,他只生成post不為空的category的rewrite rules.
- ^) ?: k8 d# G( c4 l
, B) f. U) G4 Q% M所以你訪問沒文章的category就404了......... 找不到匹配的頁面. ' {, B" Z* {, ^7 B( x

6 h6 E6 l5 ~2 Z; y6 M$ n5 a0 ^---/ Q" }' G9 K6 @2 }& }
由於這些rewrite rules是存在數據庫裡的, 你要是修改插件的話, 這些rewrite rules不會立即生效.0 W8 U  a, _  ]. W7 a9 v7 x; p

5 \6 |( |' q) ^  yPermalink Settings的"Save Changes"按鈕能刷新這些rewrite rules$ B* ~3 c% r& b/ K/ N/ S

3 R! O4 r' h, k  Q6 C
7 y& G$ B. H1 e1 l& u

評分

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

查看全部評分

回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2013-11-3 16:45:22 | 顯示全部樓層
luguokankan 發表於 2013-11-3 12:33
, M7 s/ E" b3 y* N& Y/seo-ultimate/modules/permalinks/permalinks.php* e1 P( v2 G9 s1 F/ }' w( k: r/ b

/ p# S4 {+ E& ?1 _$terms = get_terms($tax_name);
: }# k' h7 B# S2 o  b' m
果然如此啊。。。哥你太棒了。。。4 O- j) t$ i# M0 ^) n4 |+ y
佩服佩服。" S( \" B% `5 h# q: t& J

' `" s9 y  m& {/ S2 A7 E" w

點評

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

使用道具 舉報

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

本版積分規則

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

4um點基跨境網編創業社區

GMT+8, 2024-11-23 21:53

By DZ X3.5

小黑屋

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