2010-06-13 2 views
1

그래서 WordPress 웹 사이트의 모든 제목을 대문자로 변환하는 방법에 대한 질문이나 팁이 필요합니다.Wordpress 전원 공급 사이트의 모든 제목을 "대문자"로 바꾸십시오

AAAAA BBBBB CCCCC

나는 인터넷 검색 여기 검색해보십시오 않은 : 나는 다음과 같이되고 싶어 CCCCC

AAAAA BBBBB : 내가 지금 무엇을 가지고

이 같은 것입니다 ,하지만 그 일에 실패하여 어떤 도움을 많이 주셔서 감사합니다!

업데이트 :

데이터베이스의 제목을 업데이트해야합니다. 그냥 분명히. :)

+0

다른 상황에서는 방해하지 마시고, Onl을 고려하고 싶을 수도 있습니다. 처음 문자를 대문자로 바꾼다. –

+0

무엇? 나는 너를 따라 가지 않는다. 나는 titll 안에있는 모든 단어의 첫 글자를 자본화하고 싶습니다. O.o – Gavrisimo

+0

나는 단지 모든 단어에 대해 그렇게하지 않고 첫 단어에만 적용하고 나머지는 순수하게 소문자로 남겨두면 더 좋아 보일 것이라고 말하고있다. 그것은 당신의 상황에 달려 있습니다 - 당신은 분명히 이것과 같은 책 제목과 같은 것들을 자본화 하겠지만, 당신은 SO 질문 제목과 같은 것에 그것을하지 않을 것입니다. 나는 당신의 타이틀 사용이 후자에 가깝다면 모든 단어의 첫 글자를 대문자로하지 않고 그 글자의 첫 글자 만 대문자로 만들면 더 멋지게 보일 것이라고 말하고 있습니다. –

답변

2

이 MySQL의에서 어떤 기능도 없지만,이 같은 일을 만들 수 있습니다 here에서

DROP FUNCTION IF EXISTS proper; 
SET GLOBAL log_bin_trust_function_creators=TRUE; 
DELIMITER | 
CREATE FUNCTION proper(str VARCHAR(128)) 
RETURNS VARCHAR(128) 
BEGIN 
    DECLARE c CHAR(1); 
    DECLARE s VARCHAR(128); 
    DECLARE i INT DEFAULT 1; 
    DECLARE BOOL INT DEFAULT 1; 
    DECLARE punct CHAR(17) DEFAULT '()[]{},[email protected];:?/'; 
    SET s = LCASE(str); 
    WHILE i < LENGTH(str) DO 
    BEGIN 
     SET c = SUBSTRING(s, i, 1); 
     IF LOCATE(c, punct) > 0 THEN 
     SET BOOL = 1; 
     ELSEIF BOOL=1 THEN 
     BEGIN 
      IF c >= 'a' AND c <= 'z' THEN 
      BEGIN 
       SET s = CONCAT(LEFT(s,i-1),UCASE(c),SUBSTRING(s,i+1)); 
       SET BOOL = 0; 
      END; 
      ELSEIF c >= '0' AND c <= '9' THEN 
      SET BOOL = 0; 
      END IF; 
     END; 
     END IF; 
     SET i = i+1; 
    END; 
    END WHILE; 
    RETURN s; 
END; 
| 
DELIMITER ; 

.

다음은 실행하여 쉽게 업데이트 할 수 있습니다

기록을 위해
Update wp_posts 
Set post_title = proper(post_title) 
0

는 각 단어를 대문자로 다음 ucwords,이 제목 값을 소문자로 돌려을하여 strtolower를 사용합니다 내가 수집 할 수 있습니다에서 ucwords

<?php echo ucwords(strtolower(the_title(null, null, false))); ?> 

strtolower와 wordpresses에게 the_title(); 기능을 포장 시도 할 수 있습니다.

나는 그것을 시도하지 않았으므로 나는 그것이 작동하는지 모른다.하지만 이것은 어떻게 시도 할 것인가이다.

희망이

편집을하는 데 도움이 : 바로 내가 내 오래된 파일 중 하나를 살펴 했어, 당신의 functions.php에서 당신이 save_post의 행동으로 후크 함수를 정의 할 수 있습니다. 게시물 변수를 사용하면 해당 데이터를 조정할 수 있지만 다른 사람들은 원하는 효과를 내지 못하는 것을주의해야한다고 말한 것 같습니다.

add_action('save_post', 'save_postdata'); 
function save_postdata($post_id) { 
    //edit code here 
    update_post_meta($post_id, 'title', $title); 
} 

나는이 제목을 편집 할 수있는 기능이있는 경우 완전히 확실하지 않다는 update_post_meta() 기능을 사용하고, 나는 불행하게도 테스트를 실행할 수있는 능력이 없습니다.

너희들은 어떻게 생각하니?

+0

흠, 그게 효과가있을 것 같아,하지만 내가 원하는 건 데이터베이스의 데이터를 업데이 트하는 것입니다. 이 영혼은 데이터베이스에서 AAAAA BBBBB CCCCC 타이틀을로드 한 다음 Aaaaa Bbbbb Ccccc로 바꿔서 AAAAA BBBBB CCCCC처럼 보이게 만듭니다. 내 질문에 명확하지 않은 경우 알려 주시면 조금 더 설명하려고 노력하겠습니다. – Gavrisimo

+0

음, 네가 무슨 뜻인지 알 겠어. 병을 좀 더 복잡하게 잡아 둔다. 예를 찾을 수 있을지 ... – studioromeo

0

독자적으로 ucwords ($ title)를 사용하되 사용 사례를 매우주의 깊게 확인하십시오. 약어는 사용자가 기대할 수있는대로 표시되지 않습니다.

"된 TLA 초보자 가이드", "된 TLA 초보자 가이드"가 될 것이다

1

당신은 데이터베이스에 그대로두고와 CSS를 통해 자본의 첫 번째 문자로 표시 할 제목을 강제 할 수 :

h2 { 
    text-transform:capitalize; 
} 
0

마지막 문자 혼자 서 때, 위에 인용 MySQL의 기능은 예를 들어, 실패,

쉬운 해결 방법은있다
Public John q 

, 패딩이 필요하지 않은 경우 :

trim(proper(concat(myfield, ' '))) 
관련 문제