Changeset 3305735
- Timestamp:
- 06/03/2025 12:14:06 PM (10 months ago)
- Location:
- tcd-classic-editor/trunk
- Files:
-
- 11 edited
-
assets/css/admin-ui.css (modified) (1 diff)
-
assets/css/editor.css (modified) (20 diffs)
-
assets/js/admin-ui.js (modified) (1 diff)
-
assets/js/editor.js (modified) (1 diff)
-
classes/class-tcdce-editor.php (modified) (1 diff)
-
helper.php (modified) (3 diffs)
-
languages/tcd-classic-editor-ja.mo (modified) (previous)
-
languages/tcd-classic-editor-ja.po (modified) (8 diffs)
-
readme.txt (modified) (2 diffs)
-
setting/quicktag.php (modified) (1 diff)
-
tcd-classic-editor.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tcd-classic-editor/trunk/assets/css/admin-ui.css
r3255965 r3305735 1190 1190 background-color: var(--tcdce-main-color); 1191 1191 border-color: var(--tcdce-main-color); 1192 } 1193 1194 /* クイックタグ未登録 */ 1195 .tcdce-repeater-unregistered { 1196 font-size: 14px; 1197 margin-bottom: 50px; 1198 } 1199 1200 /* アイテムが存在する場合は非表示 */ 1201 .tcdce-repeater:has(.tcdce-repeater__item) + .tcdce-repeater-unregistered { 1202 display: none; 1192 1203 } 1193 1204 -
tcd-classic-editor/trunk/assets/css/editor.css
r3296925 r3305735 48 48 --tcdce-h1-text-align: center; 49 49 --tcdce-h1-font-weight: 600; 50 --tcdce-h1-font-color: #000000;51 --tcdce-h1-font-family: var(--tcdce- opt-font-type-sans-serif);50 --tcdce-h1-font-color: var(--tcdce-base-font-color); 51 --tcdce-h1-font-family: var(--tcdce-base-font-family); 52 52 --tcdce-h1-content-width: 100%; 53 53 /* 背景 */ … … 99 99 --tcdce-h2-text-align: center; 100 100 --tcdce-h2-font-weight: 600; 101 --tcdce-h2-font-color: #000000;102 --tcdce-h2-font-family: var(--tcdce- opt-font-type-sans-serif);101 --tcdce-h2-font-color: var(--tcdce-base-font-color); 102 --tcdce-h2-font-family: var(--tcdce-base-font-family); 103 103 --tcdce-h2-content-width: 100%; 104 104 /* 背景 */ … … 150 150 --tcdce-h3-text-align: left; 151 151 --tcdce-h3-font-weight: 600; 152 --tcdce-h3-font-color: #000000;153 --tcdce-h3-font-family: var(--tcdce- opt-font-type-sans-serif);152 --tcdce-h3-font-color: var(--tcdce-base-font-color); 153 --tcdce-h3-font-family: var(--tcdce-base-font-family); 154 154 --tcdce-h3-content-width: 100%; 155 155 /* 背景 */ … … 201 201 --tcdce-h4-text-align: left; 202 202 --tcdce-h4-font-weight: 600; 203 --tcdce-h4-font-color: #000000;204 --tcdce-h4-font-family: var(--tcdce- opt-font-type-sans-serif);203 --tcdce-h4-font-color: var(--tcdce-base-font-color); 204 --tcdce-h4-font-family: var(--tcdce-base-font-family); 205 205 --tcdce-h4-content-width: 100%; 206 206 /* 背景 */ … … 252 252 --tcdce-h5-text-align: left; 253 253 --tcdce-h5-font-weight: 600; 254 --tcdce-h5-font-color: #000000;255 --tcdce-h5-font-family: var(--tcdce- opt-font-type-sans-serif);254 --tcdce-h5-font-color: var(--tcdce-base-font-color); 255 --tcdce-h5-font-family: var(--tcdce-base-font-family); 256 256 --tcdce-h5-content-width: 100%; 257 257 /* 背景 */ … … 303 303 --tcdce-h6-text-align: left; 304 304 --tcdce-h6-font-weight: 600; 305 --tcdce-h6-font-color: #000000;306 --tcdce-h6-font-family: var(--tcdce- opt-font-type-sans-serif);305 --tcdce-h6-font-color: var(--tcdce-base-font-color); 306 --tcdce-h6-font-family: var(--tcdce-base-font-family); 307 307 --tcdce-h6-content-width: 100%; 308 308 /* 背景 */ … … 351 351 --tcdce-ul-font-size-sp: 14px; 352 352 --tcdce-ul-font-weight: normal; 353 --tcdce-ul-font-color: #000000;353 --tcdce-ul-font-color: var(--tcdce-base-font-color); 354 354 /* 背景 */ 355 355 --tcdce-ul-background: initial; … … 383 383 --tcdce-ol-font-size-sp: 14px; 384 384 --tcdce-ol-font-weight: normal; 385 --tcdce-ol-font-color: #000000;385 --tcdce-ol-font-color: var(--tcdce-base-font-color); 386 386 /* 背景 */ 387 387 --tcdce-ol-background: initial; … … 1333 1333 margin: 0; 1334 1334 line-height: revert; 1335 list-style-type: inherit; 1335 1336 } 1336 1337 … … 1433 1434 margin: 0; 1434 1435 line-height: revert; 1436 list-style-type: inherit; 1435 1437 } 1436 1438 … … 1648 1650 1649 1651 :is(.tcdce-body, .editor-styles-wrapper) 1650 :is(.tcdce-button, .q_custom_button, .q_button, .wp-block-button__link):not( 1651 .wp-block-button 1652 ) { 1652 :is( 1653 .tcdce-button, 1654 .q_custom_button, 1655 .q_custom_button1, 1656 .q_custom_button2, 1657 .q_custom_button3, 1658 .q_button, 1659 .wp-block-button__link 1660 ):not(.wp-block-button) { 1653 1661 --tcdce-base-link-decoration: none; 1654 1662 text-decoration: none; … … 1677 1685 1678 1686 :is(.tcdce-body, .editor-styles-wrapper) 1679 :is(.tcdce-button, .q_custom_button, .q_button, .wp-block-button__link):not( 1680 .wp-block-button 1681 ):before { 1687 :is( 1688 .tcdce-button, 1689 .q_custom_button, 1690 .q_custom_button1, 1691 .q_custom_button2, 1692 .q_custom_button3, 1693 .q_button, 1694 .wp-block-button__link 1695 ):not(.wp-block-button):before { 1682 1696 content: ""; 1683 1697 display: block; … … 1696 1710 1697 1711 :is(.tcdce-body, .editor-styles-wrapper) 1698 :is(.tcdce-button, .q_custom_button, .q_button, .wp-block-button__link):not( 1699 .wp-block-button 1700 ):after { 1712 :is( 1713 .tcdce-button, 1714 .q_custom_button, 1715 .q_custom_button1, 1716 .q_custom_button2, 1717 .q_custom_button3, 1718 .q_button, 1719 .wp-block-button__link 1720 ):not(.wp-block-button):after { 1701 1721 content: var(--tcdce-button-overlay); 1702 1722 display: block; … … 1715 1735 @media (any-hover: hover) { 1716 1736 :is(.tcdce-body, .editor-styles-wrapper) 1717 :is(.tcdce-button, .q_custom_button, .q_button, .wp-block-button__link):not( 1718 .wp-block-button 1719 ):hover { 1737 :is( 1738 .tcdce-button, 1739 .q_custom_button, 1740 .q_custom_button1, 1741 .q_custom_button2, 1742 .q_custom_button3, 1743 .q_button, 1744 .wp-block-button__link 1745 ):not(.wp-block-button):hover { 1720 1746 color: var(--tcdce-button-font-color-hover); 1721 1747 border: var(--tcdce-button-border-hover); … … 1724 1750 1725 1751 :is(.tcdce-body, .editor-styles-wrapper) 1726 :is(.tcdce-button, .q_custom_button, .q_button, .wp-block-button__link):not( 1727 .wp-block-button 1728 ):hover:before { 1752 :is( 1753 .tcdce-button, 1754 .q_custom_button, 1755 .q_custom_button1, 1756 .q_custom_button2, 1757 .q_custom_button3, 1758 .q_button, 1759 .wp-block-button__link 1760 ):not(.wp-block-button):hover:before { 1729 1761 background: var(--tcdce-button-background-hover); 1730 1762 transform: var(--tcdce-button-transform-hover); … … 1732 1764 1733 1765 :is(.tcdce-body, .editor-styles-wrapper) 1734 :is(.tcdce-button, .q_custom_button, .q_button, .wp-block-button__link):not( 1735 .wp-block-button 1736 ):hover:after { 1766 :is( 1767 .tcdce-button, 1768 .q_custom_button, 1769 .q_custom_button1, 1770 .q_custom_button2, 1771 .q_custom_button3, 1772 .q_button, 1773 .wp-block-button__link 1774 ):not(.wp-block-button):hover:after { 1737 1775 background: rgb(0 0 0 / 30%); 1738 1776 } … … 1757 1795 1758 1796 :is(.tcdce-body, .editor-styles-wrapper) 1759 :is(.tcdce-button, .q_custom_button, .q_button, .wp-block-button__link):not( 1760 .wp-block-button 1761 ) { 1797 :is( 1798 .tcdce-button, 1799 .q_custom_button, 1800 .q_custom_button1, 1801 .q_custom_button2, 1802 .q_custom_button3, 1803 .q_button, 1804 .wp-block-button__link 1805 ):not(.wp-block-button) { 1762 1806 --tcdce-button-size-width-pc: var(--tcdce-button-size-width-sp); 1763 1807 --tcdce-button-size-height-pc: var(--tcdce-button-size-height-sp); … … 1768 1812 body.wp-admin 1769 1813 :is(.tcdce-body, .editor-styles-wrapper) 1770 :is(.tcdce-button, .q_custom_button, .q_button, .wp-block-button__link):not( 1771 .wp-block-button 1772 ) { 1814 :is( 1815 .tcdce-button, 1816 .q_custom_button, 1817 .q_custom_button1, 1818 .q_custom_button2, 1819 .q_custom_button3, 1820 .q_button, 1821 .wp-block-button__link 1822 ):not(.wp-block-button) { 1773 1823 --tcdce-button-size-width-pc: var(--tcdce-button-size-width-sp) !important; 1774 1824 --tcdce-button-size-height-pc: var( … … 2226 2276 width: 100%; 2227 2277 height: auto; 2278 } 2279 2280 :is(.tcdce-body, .editor-styles-wrapper) 2281 .wp-block-embed:has(iframe[src*="youtube.com"]) { 2282 display: block; 2228 2283 } 2229 2284 … … 2501 2556 width: 50px; 2502 2557 height: 50px; 2558 color: #000; 2503 2559 background: #fff; 2504 2560 border: 1px solid #ddd; -
tcd-classic-editor/trunk/assets/js/admin-ui.js
r3248450 r3305735 46 46 // リセットボタンのEnter対策としてjsで送信 47 47 $(document).on("click", "#js-tcdce-reset-button", function () { 48 $(this).attr("type", "submit") .closest("form").submit();48 $(this).attr("type", "submit"); 49 49 }); 50 50 -
tcd-classic-editor/trunk/assets/js/editor.js
r3250078 r3305735 8 8 // pタグじゃなければ終了 9 9 if (!el || el.tagName?.toLowerCase() !== "p") return false; 10 11 // 囲み枠の場合は終了 12 if (el.classList.contains("tcdce-box")) { 13 return false; 14 } 15 16 // ボタンを含む場合は終了 17 if (el.querySelector(".tcdce-button")) { 18 return false; 19 } 10 20 11 21 // 画像を含む場合は終了 -
tcd-classic-editor/trunk/classes/class-tcdce-editor.php
r3296925 r3305735 159 159 160 160 // エディター(過去テーマ対応) 161 wp_enqueue_style( 'tcdce-old-style', TCDCE_URL . 'assets/css/old-style.css', array(), filemtime( TCDCE_PATH . 'assets/css/old-style.css' ) );161 // wp_enqueue_style( 'tcdce-old-style', TCDCE_URL . 'assets/css/old-style.css', array(), filemtime( TCDCE_PATH . 'assets/css/old-style.css' ) ); 162 162 163 163 // TCDテーマに組み込まれているスタイル -
tcd-classic-editor/trunk/helper.php
r3278760 r3305735 192 192 193 193 // ファイルの中身を読み取り 194 $uploaded_file_path = sanitize_text_field( wp_unslash( $_FILES['tcdce_import_file']['tmp_name'] ) );194 $uploaded_file_path = $_FILES['tcdce_import_file']['tmp_name']; 195 195 $json_string = file_get_contents( $uploaded_file_path ); 196 196 if (! $json_string) { … … 250 250 $option_data = get_option( $setting ); 251 251 252 // JSON 化253 try {254 $json_data = json_encode(255 $option_data,256 JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE257 );258 } catch (\JsonException $e) {259 // JSONエンコード失敗時260 wp_die( esc_html__( 'Failed to create JSON data for export.', 'tcd-classic-editor' ) );261 }262 263 252 // 日付文字列 (例: 20250218) 264 253 $date_str = wp_date( 'Ymd' ); … … 273 262 header( 'Expires: 0' ); 274 263 275 // JSON を出力して終了 276 // echo $json_data; 277 echo wp_kses( $json_data, wp_kses_allowed_html( 'tcdce' ) ); 264 // JSON化して出力 265 echo wp_json_encode( 266 $option_data, 267 JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE 268 ); 278 269 exit; 279 270 } -
tcd-classic-editor/trunk/languages/tcd-classic-editor-ja.po
r3278760 r3305735 3 3 "Project-Id-Version: design-plus\n" 4 4 "Report-Msgid-Bugs-To: https://core.trac.wordpress.org/\n" 5 "POT-Creation-Date: 2025-0 4-22 13:44+0900\n"6 "PO-Revision-Date: 2025-0 4-22 13:44+0900\n"5 "POT-Creation-Date: 2025-05-20 11:52+0900\n" 6 "PO-Revision-Date: 2025-05-20 11:52+0900\n" 7 7 "Last-Translator: Design Plus <support@wp-dp.com>\n" 8 8 "Language-Team: design plus\n" … … 77 77 msgstr "クイックタグ" 78 78 79 #: classes/class-tcdce-editor.php:2 7279 #: classes/class-tcdce-editor.php:265 80 80 msgid "2 column" 81 81 msgstr "2カラム" 82 82 83 #: classes/class-tcdce-editor.php:2 73 classes/class-tcdce-editor.php:27883 #: classes/class-tcdce-editor.php:266 classes/class-tcdce-editor.php:271 84 84 msgid "Text and image tags to display in the left column" 85 85 msgstr "ここに左カラムに表示させたい任意のテキストや画像タグを入力します" 86 86 87 #: classes/class-tcdce-editor.php:2 73 classes/class-tcdce-editor.php:27887 #: classes/class-tcdce-editor.php:266 classes/class-tcdce-editor.php:271 88 88 msgid "Text and image tags to display in the right column" 89 89 msgstr "ここに右カラムに表示させたい任意のテキストや画像タグを入力します" 90 90 91 #: classes/class-tcdce-editor.php:27 791 #: classes/class-tcdce-editor.php:270 92 92 msgid "3 column" 93 93 msgstr "3カラム" 94 94 95 #: classes/class-tcdce-editor.php:27 895 #: classes/class-tcdce-editor.php:271 96 96 msgid "Text and image tags to display in the center column" 97 97 msgstr "ここに真ん中カラムに表示させたい任意のテキストや画像タグを入力します" 98 98 99 #: classes/class-tcdce-editor.php:2 8299 #: classes/class-tcdce-editor.php:275 100 100 msgid "Tab" 101 101 msgstr "タブ" 102 102 103 #: classes/class-tcdce-editor.php:2 83103 #: classes/class-tcdce-editor.php:276 104 104 msgid "" 105 105 "[tcd_tab tab1=\"Tab1 headline\" img1=\"Tab1 image url\" tab2=\"Tab2 " … … 109 109 "\" img2=\"タブ2の画像URL\"]" 110 110 111 #: classes/class-tcdce-editor.php:43 6111 #: classes/class-tcdce-editor.php:438 112 112 msgid "Please enter the correct URL." 113 113 msgstr "正しいURLを入力してください。" 114 114 115 #: classes/class-tcdce-editor.php:53 4115 #: classes/class-tcdce-editor.php:536 116 116 msgid "The address has not been entered." 117 117 msgstr "住所が入力されておりません。" 118 118 119 #: classes/class-tcdce-editor.php:54 1119 #: classes/class-tcdce-editor.php:543 120 120 msgid "Google Maps Platform API key not entered." 121 121 msgstr "Google Maps Platform APIキーが入力されておりません。" … … 384 384 "ください。" 385 385 386 #: helper.php:260387 msgid "Failed to create JSON data for export."388 msgstr "エクスポート用 JSON データ作成に失敗しました。"389 390 386 #: setting/basic.php:17 setting/start-guide.php:28 391 387 msgid "Basic settings" … … 527 523 msgstr "登録済みクイックタグ" 528 524 529 #: setting/quicktag.php:175 525 #: setting/quicktag.php:169 526 msgid "Add an item." 527 msgstr "アイテムを追加してください。" 528 529 #: setting/quicktag.php:180 530 530 msgid "Quicktags you can add" 531 531 msgstr "追加できるクイックタグ" 532 532 533 #: setting/quicktag.php:21 4533 #: setting/quicktag.php:219 534 534 #, php-format 535 535 msgid "%s Presets" 536 536 msgstr "%sプリセット" 537 537 538 #: setting/quicktag.php:2 17538 #: setting/quicktag.php:222 539 539 msgid "Close" 540 540 msgstr "閉じる" 541 541 542 #: setting/quicktag.php:22 2542 #: setting/quicktag.php:227 543 543 msgid "Hover the mouse cursor over the button to see the hover animation." 544 544 msgstr "ボタンにマウスカーソルをあてると、ホバーアニメーションを確認できます。" 545 545 546 #: setting/quicktag.php:2 49546 #: setting/quicktag.php:254 547 547 msgid "Load Preset" 548 548 msgstr "プリセットを読み込む" … … 1154 1154 msgstr "TCDユーザー向けのクラシックエディタ拡張プラグインです。" 1155 1155 1156 #: theme-support/tcd.php:1 161156 #: theme-support/tcd.php:142 1157 1157 msgid "" 1158 1158 "The \"Quick Tags\" feature of the TCD theme is not available while this " … … 1162 1162 "せん。" 1163 1163 1164 #: theme-support/tcd.php:1 291164 #: theme-support/tcd.php:155 1165 1165 msgid "Basic settings are not available for this theme." 1166 1166 msgstr "このテーマでは、基本設定はお使いいただけません。" 1167 1167 1168 #: theme-support/tcd.php:1 301168 #: theme-support/tcd.php:156 1169 1169 msgid "The settings in the TCD theme options will be applied." 1170 1170 msgstr "TCDテーマオプションの設定が反映されます。" 1171 1171 1172 #: theme-support/tcd.php:1 441172 #: theme-support/tcd.php:170 1173 1173 msgid "" 1174 1174 "Since this theme already has a table of contents feature, the plugin's table " … … 1178 1178 "きません。" 1179 1179 1180 #: theme-support/tcd.php:1 581180 #: theme-support/tcd.php:184 1181 1181 msgid "This theme cannot display a table of contents in the sidebar." 1182 1182 msgstr "このテーマでは、サイドバーに目次を表示できません。" 1183 1184 #~ msgid "Failed to create JSON data for export." 1185 #~ msgstr "エクスポート用 JSON データ作成に失敗しました。" 1183 1186 1184 1187 #~ msgid "" -
tcd-classic-editor/trunk/readme.txt
r3296925 r3305735 4 4 Requires at least: 6.7 5 5 Tested up to: 6.8 6 Stable tag: 1.2.1 06 Stable tag: 1.2.11 7 7 Requires PHP: 8.0 8 8 License: GPLv2 or later … … 47 47 48 48 == Changelog == 49 = 1.2.11 = 50 * Minor bug fixes and improvements 51 49 52 = 1.2.10 = 50 53 * Minor bug fixes and improvements -
tcd-classic-editor/trunk/setting/quicktag.php
r3248450 r3305735 152 152 <?php 153 153 154 foreach( $tcdce_quicktag as $key => $tcdce_qt ) { 155 $tcdce_qt_fields->repeater( 156 $tcdce_qt['item'], 157 $key, 158 'tcdce_quicktag[' . $key . ']', 159 $tcdce_qt 160 ); 154 if( ! empty( $tcdce_quicktag ) ){ 155 foreach( $tcdce_quicktag as $key => $tcdce_qt ) { 156 $tcdce_qt_fields->repeater( 157 $tcdce_qt['item'], 158 $key, 159 'tcdce_quicktag[' . $key . ']', 160 $tcdce_qt 161 ); 162 } 161 163 } 162 164 163 165 ?> 164 166 </div> 167 </div> 168 <div class="tcdce-repeater-unregistered"> 169 <?php esc_html_e( 'Add an item.', 'tcd-classic-editor' ); ?> 165 170 </div> 166 171 <?php -
tcd-classic-editor/trunk/tcd-classic-editor.php
r3296925 r3305735 4 4 * Plugin URI: 5 5 * Description: This is a classic editor extension plug-in for TCD users. 6 * Version: 1.2.1 06 * Version: 1.2.11 7 7 * Author: TCD 8 8 * Author URI: https://tcd-theme.com/
Note: See TracChangeset
for help on using the changeset viewer.