1

だから私が必要としているのは、ワードプレスを利用したウェブサイトのすべてのタイトルを大文字にする方法に関するクエリまたはヒントです。

私が今持っているのは次のようなものです:

あああああああああああああああああああああああああ

私はそれが次のようになりたい:

あぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ

ここでグーグルと検索を試みましたが、そのタスクに失敗したので、助けていただければ幸いです!

アップデート:

データベース内のタイトルを更新する必要があります。ただ明確にします。:)

4

5 に答える 5

2

MySQL にはこのための関数はありませんが、次のような関数を作成できます。

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 ' ()[]{},.-_!@;:?/';
  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)
于 2010-06-13T21:43:14.803 に答える
1

データベースにそのまま残して、css を介してタイトルの最初の文字を大文字で表示するように強制できます。

h2 {
  text-transform:capitalize;
}
于 2010-06-13T21:43:11.450 に答える
0

ワードプレスをラップしてみてください ucwordsstrtolowerを使用した関数

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

私が収集できるものから、タイトルの値は strtolower を使用して小文字に変換し、次に ucwords を使用して各単語を大文字にします。

私はこれを自分で試したことがないので、うまくいくかわかりませんが、これは私が試してみた方法です。

お役に立てれば

EDIT : 古いファイルの 1 つを見てきました。functions.php で、save_post アクションにフックする関数を定義できます。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()関数を使用していますが、タイトルを編集できるかどうかは完全にはわかりません。残念ながら、テストを実行する必要はありません。

皆さんはどう思いますか?

于 2010-06-13T21:36:24.660 に答える
0

ucwords( $title ) を単独で使用してください。ただし、使用例を注意深く確認してください。頭字語は、ユーザーが期待するように表示されません。

「TLA の初心者向けガイド」は「TLA の初心者向けガイド」になります。

于 2010-06-13T21:42:31.043 に答える
0

記録のために、上記の MySQL 関数は、最後の文字が単独である場合に失敗します。

Public John q

パディングが必要ない場合は、簡単な回避策があります。

trim(proper(concat(myfield, '    ')))
于 2010-07-14T16:28:12.853 に答える