Changeset 3248450
- Timestamp:
- 02/28/2025 11:59:35 AM (13 months ago)
- Location:
- tcd-classic-editor/trunk
- Files:
-
- 14 edited
-
assets/css/admin-ui.css (modified) (7 diffs)
-
assets/css/editor.css (modified) (15 diffs)
-
assets/css/utility.css (modified) (1 diff)
-
assets/js/admin-ui.js (modified) (1 diff)
-
assets/js/editor.js (modified) (1 diff)
-
classes/class-tcdce-admin-menu.php (modified) (1 diff)
-
classes/class-tcdce-editor.php (modified) (4 diffs)
-
helper.php (modified) (1 diff)
-
languages/ja.mo (modified) (previous)
-
languages/ja.po (modified) (12 diffs)
-
readme.txt (modified) (2 diffs)
-
setting/quicktag.php (modified) (2 diffs)
-
setting/quicktag/sb.php (modified) (1 diff)
-
tcd-classic-editor.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tcd-classic-editor/trunk/assets/css/admin-ui.css
r3235706 r3248450 150 150 .tcdce-message--success, 151 151 .tcdce-message--failed, 152 .tcdce-message--reset { 152 .tcdce-message--reset, 153 .tcdce-message--imported { 153 154 position: absolute; 154 155 inset: 0; … … 161 162 } 162 163 163 .tcdce-message--success { 164 .tcdce-message--success, 165 .tcdce-message--imported { 164 166 background: #00c554; 165 167 } … … 175 177 .tcdce-page.is-success .tcdce-message, 176 178 .tcdce-page.is-failed .tcdce-message, 177 .tcdce-page.is-reset .tcdce-message { 179 .tcdce-page.is-reset .tcdce-message, 180 .tcdce-page.is-imported .tcdce-message { 178 181 height: 40px; 179 182 } … … 181 184 .tcdce-page.is-success .tcdce-message--success, 182 185 .tcdce-page.is-failed .tcdce-message--failed, 183 .tcdce-page.is-reset .tcdce-message--reset { 186 .tcdce-page.is-reset .tcdce-message--reset, 187 .tcdce-page.is-imported .tcdce-message--imported { 184 188 pointer-events: auto; 185 189 visibility: visible; … … 189 193 /* main setting */ 190 194 .tcdce-setting { 195 position: relative; 191 196 padding: 40px; 192 197 background: #fff; … … 199 204 line-height: 1.6; 200 205 margin: -0.3em 0 calc(40px - 0.3em); 206 } 207 208 /* import / export */ 209 .tcdce-setting-data { 210 display: flex; 211 gap: 10px; 212 position: absolute; 213 inset: 30px 40px auto auto; 214 } 215 216 .tcdce-setting-data-action { 217 cursor: pointer; 218 display: flex; 219 align-items: center; 220 gap: 5px; 221 height: 40px; 222 border: 1px solid #ddd; 223 font-size: 13px; 224 padding-inline: 10px 15px; 225 transition: opacity 0.5s ease; 226 } 227 228 .tcdce-setting-data-action:has(input:checked) { 229 color: #fff; 230 background: var(--tcdce-main-color); 231 border-color: var(--tcdce-main-color); 232 } 233 234 .tcdce-setting-data-action:hover { 235 opacity: 0.8; 236 } 237 238 .tcdce-setting-data-form { 239 position: absolute; 240 top: calc(100% + 10px); 241 right: 0; 242 z-index: 3; 243 display: grid; 244 align-content: start; 245 row-gap: 10px; 246 width: 450px; 247 padding: 20px; 248 background: #fff; 249 border: 1px solid var(--tcdce-main-color); 250 font-size: 13px; 251 line-height: 1.4; 252 } 253 254 .tcdce-setting-data-action:not(:has(input:checked)) + .tcdce-setting-data-form { 255 display: none; 256 } 257 258 .tcdce-setting-data-form-button { 259 cursor: pointer; 260 border: none; 261 padding: 0 1em; 262 height: 30px; 263 font-size: 13px; 264 background: var(--tcdce-main-color); 265 color: #fff; 266 } 267 268 /* ファイルが未設定の場合にボタン押させない */ 269 input[type="file"]:not([data-file="1"]) + .tcdce-setting-data-form-button { 270 opacity: 0.5; 271 pointer-events: none; 201 272 } 202 273 … … 1865 1936 display: none; 1866 1937 } 1938 1939 /* 吹き出しプリセット別 */ 1940 .tcdce-edit__options:has(input[value="preset01"]) 1941 :is(.tcdce-sb-bg-color, .tcdce-sb-border-color, ), 1942 .tcdce-edit__options:has(input[value="preset02"]) 1943 :is(.tcdce-sb-bg-color, .tcdce-sb-border-color, ), 1944 .tcdce-edit__options:has(input[value="preset03"]) :is(.tcdce-sb-border-color, ), 1945 .tcdce-edit__options:has(input[value="preset04"]) 1946 :is(.tcdce-sb-border-color, ) { 1947 display: none; 1948 } -
tcd-classic-editor/trunk/assets/css/editor.css
r3235706 r3248450 538 538 } 539 539 540 @container tcdce (max-width: 400px) {540 @container tcdce (max-width: 600px) { 541 541 :is(.tcdce-body, .tcdce-body .wp-block-group__inner-container) > * { 542 542 --tcdce-base-margin-bottom-pc: var(--tcdce-base-margin-bottom-sp); … … 722 722 } 723 723 724 @container tcdce (max-width: 400px) {724 @container tcdce (max-width: 600px) { 725 725 :is(.tcdce-body, .editor-styles-wrapper) h1 { 726 726 font-size: var(--tcdce-h1-font-size-sp); … … 829 829 } 830 830 831 @container tcdce (max-width: 400px) {831 @container tcdce (max-width: 600px) { 832 832 :is(.tcdce-body, .editor-styles-wrapper) h2 { 833 833 font-size: var(--tcdce-h2-font-size-sp); … … 936 936 } 937 937 938 @container tcdce (max-width: 400px) {938 @container tcdce (max-width: 600px) { 939 939 :is(.tcdce-body, .editor-styles-wrapper) h3 { 940 940 font-size: var(--tcdce-h3-font-size-sp); … … 1043 1043 } 1044 1044 1045 @container tcdce (max-width: 400px) {1045 @container tcdce (max-width: 600px) { 1046 1046 :is(.tcdce-body, .editor-styles-wrapper) h4 { 1047 1047 font-size: var(--tcdce-h4-font-size-sp); … … 1150 1150 } 1151 1151 1152 @container tcdce (max-width: 400px) {1152 @container tcdce (max-width: 600px) { 1153 1153 :is(.tcdce-body, .editor-styles-wrapper) h5 { 1154 1154 font-size: var(--tcdce-h5-font-size-sp); … … 1257 1257 } 1258 1258 1259 @container tcdce (max-width: 400px) {1259 @container tcdce (max-width: 600px) { 1260 1260 :is(.tcdce-body, .editor-styles-wrapper) h6 { 1261 1261 font-size: var(--tcdce-h6-font-size-sp); … … 1356 1356 } 1357 1357 1358 @container tcdce (max-width: 400px) {1358 @container tcdce (max-width: 600px) { 1359 1359 :is(.tcdce-body, .editor-styles-wrapper) ul { 1360 1360 font-size: var(--tcdce-ul-font-size-sp); … … 1468 1468 } 1469 1469 1470 @container tcdce (max-width: 400px) {1470 @container tcdce (max-width: 600px) { 1471 1471 :is(.tcdce-body, .editor-styles-wrapper) ol { 1472 1472 font-size: var(--tcdce-ol-font-size-sp); … … 1561 1561 } 1562 1562 1563 @container tcdce (max-width: 400px) {1563 @container tcdce (max-width: 600px) { 1564 1564 :is(.tcdce-body, .editor-styles-wrapper) 1565 1565 :is(.tcdce-box, .well, .well2, .well3, .q_frame) { … … 1733 1733 } 1734 1734 1735 @container tcdce (max-width: 400px) {1735 @container tcdce (max-width: 600px) { 1736 1736 :is(.tcdce-body, .editor-styles-wrapper) 1737 1737 :is(.tcdce-button-wrapper, .q_button_wrap, .wp-block-buttons) { … … 1834 1834 } 1835 1835 1836 @container tcdce (max-width: 400px) {1836 @container tcdce (max-width: 600px) { 1837 1837 :is(.tcdce-body, .editor-styles-wrapper) * + .tcdce-sb { 1838 1838 margin-top: var(--tcdce-sb-margin-top-sp); … … 1849 1849 height: auto; 1850 1850 vertical-align: bottom; 1851 }1852 1853 :is(.tcdce-body, .editor-styles-wrapper) p:has(> img) {1854 margin: 40px 0;1855 1851 } 1856 1852 … … 2504 2500 } 2505 2501 2506 /* 2025年フッターバー対策 */2502 /* GRAVITY以降、固定フッター対策 */ 2507 2503 @media (max-width: 767px) { 2508 body:has(.p-footer-fix) .p-toc-open { 2504 /* アイコンメニュー */ 2505 body:has(.p-footer-fix-nav) .p-toc-open { 2509 2506 margin-bottom: 40px; 2507 } 2508 /* バナーCTA NOTE: バナー表示中は非表示 */ 2509 body:has(.p-footer-fix-cta-image) .p-toc-open { 2510 display: none; 2511 } 2512 /* テキストCTA */ 2513 body:has(.p-footer-fix-cta-text) .p-toc-open { 2514 margin-bottom: 55px; 2510 2515 } 2511 2516 } … … 2640 2645 } 2641 2646 2642 @container tcdce (max-width: 400px) {2647 @container tcdce (max-width: 600px) { 2643 2648 .tcdce-tab { 2644 2649 font-size: 14px; -
tcd-classic-editor/trunk/assets/css/utility.css
r3236860 r3248450 867 867 img.frame { 868 868 border: 1px solid #d2d2d2; 869 margin-bottom: -12px;870 869 box-shadow: 0 6px 6px -6px #cccccc; 871 870 } -
tcd-classic-editor/trunk/assets/js/admin-ui.js
r3235706 r3248450 48 48 $(this).attr("type", "submit").closest("form").submit(); 49 49 }); 50 51 // インポート/エクスポートの表示切り替え 52 $(document).on("click", function (e) { 53 if ( 54 !$(e.target).closest(".js-tcdce-setting-data-form").length && 55 !$(e.target) 56 .closest(".tcdce-setting-data-action") 57 .find(".js-tcdce-setting-data-form-input:checked").length 58 ) { 59 $(".js-tcdce-setting-data-form-input:checked") 60 .removeAttr("checked") 61 .prop("checked", false) 62 .change(); 63 } 64 }); 65 66 // インポート実行後のメッセージ 67 const url = new URL(window.location.href); 68 if (url.searchParams.get("imported")) { 69 // パラメータ削除 70 url.searchParams.delete("imported"); 71 window.history.replaceState({}, "", url.toString()); 72 // メッセージ表示切り替え 73 const page = document.getElementById("js-tcdce-page"); 74 page?.classList.add("is-imported"); 75 setTimeout(() => { 76 page?.classList.remove("is-imported"); 77 }, 5000); 78 } 50 79 }); 51 80 -
tcd-classic-editor/trunk/assets/js/editor.js
r3235706 r3248450 1 1 document.addEventListener("DOMContentLoaded", (event) => { 2 2 // 本文のマージン対策 3 const entryContents = document.querySelectorAll(".tcdce-body"); 4 if (entryContents) { 5 entryContents.forEach((el) => { 6 // 条件を判定するための関数 7 const isTextOnlyParagraph = (el) => { 8 // pタグじゃなければ終了 9 if (!el || el.tagName?.toLowerCase() !== "p") return false; 10 11 // 画像を含む場合は終了 12 if (el.querySelector("img")) { 13 return false; 14 } 15 16 // テキストが空白だけなら除外 17 const text = el.textContent.trim(); 18 if (!text) { 19 // テキストが完全に空ならfalse 20 return false; 21 } 22 23 return true; 24 }; 25 26 // 最初の要素 27 const firstEl = el.firstElementChild; 28 if (isTextOnlyParagraph(firstEl)) { 29 firstEl.style.marginTop = "calc((1em - 1lh) / 2)"; 30 } 31 32 // 最後の要素 33 const lastEl = el.lastElementChild; 34 if (isTextOnlyParagraph(firstEl)) { 35 firstEl.style.marginBottom = "calc((1em - 1lh) / 2)"; 36 } 37 }); 38 } 3 39 4 40 // marker -
tcd-classic-editor/trunk/classes/class-tcdce-admin-menu.php
r3235706 r3248450 212 212 <?php esc_html_e( 'Settings reset.', 'tcd-classic-editor' ); ?> 213 213 </div> 214 <div class="tcdce-message--imported"> 215 <?php esc_html_e( 'Import is complete.', 'tcd-classic-editor' ); ?> 216 </div> 214 217 </div> 215 218 <?php -
tcd-classic-editor/trunk/classes/class-tcdce-editor.php
r3235706 r3248450 77 77 } 78 78 79 // the_content フィルター 80 add_filter( 'the_content', array( $this, 'the_content' ), 8 ); 81 79 82 // エディターの本文をdivで囲むフィルター 80 add_filter( 'the_content', array( $this, 'the_content' ), 8 ); 83 // NOTE: 誤って動作するのを防ぐため、wpautopよりも遅いタイミングで実行する 84 add_filter( 'the_content', function( $content ){ 85 return '<div class="tcdce-body">' . $content . '</div>'; 86 }, 11 ); 81 87 82 88 // ページ分割のマークアップ上書き … … 125 131 } 126 132 127 // エディター用クラス128 $content = '<div class="tcdce-body">' . $content . '</div>';129 130 133 return $content; 131 132 134 } 133 135 … … 173 175 */ 174 176 public function admin_init() { 177 global $pagenow; 178 179 // コメント一覧、コメント編集ページではクイックタグを読み込まない 180 if( in_array( $pagenow, [ 'comment.php', 'edit-comments.php' ], true ) ){ 181 return; 182 } 175 183 176 184 // tinymceのスクリプト登録 … … 404 412 405 413 $post = get_post( $post_id ); 406 $image = get_the_post_thumbnail_url( $post_id );414 $image = get_the_post_thumbnail_url( $post_id, 'tcdce-s' ); 407 415 $title = get_the_title( $post ); 408 416 $date = get_the_date( 'Y.m.d', $post ); -
tcd-classic-editor/trunk/helper.php
r3235706 r3248450 106 106 } 107 107 add_action( 'admin_init', 'tcdce_redirect_site_editor_patterns_to_classic' ); 108 109 110 /** 111 * インポート / エクスポート ボタン 112 */ 113 function tcdce_import_export_view( $option = 'tcdce_quicktag' ){ 114 global $plugin_page; 115 ?> 116 <div class="tcdce-setting-data"> 117 <label class="tcdce-setting-data-action"> 118 <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="currentColor"><path d="M460-249.23h40V-437l84 84 28.31-28.54L480-513.85 347.69-381.54l28.54 28.31L460-437v187.77ZM264.62-120q-27.62 0-46.12-18.5Q200-157 200-184.62v-590.76q0-27.62 18.5-46.12Q237-840 264.62-840H580l180 180v475.38q0 27.62-18.5 46.12Q723-120 695.38-120H264.62ZM560-640v-160H264.62q-9.24 0-16.93 7.69-7.69 7.69-7.69 16.93v590.76q0 9.24 7.69 16.93 7.69 7.69 16.93 7.69h430.76q9.24 0 16.93-7.69 7.69-7.69 7.69-16.93V-640H560ZM240-800v160-160 640-640Z"/></svg> 119 <input class="js-tcdce-setting-data-form-input" type="checkbox" style="display:none;"> 120 <?php esc_html_e( 'Import', 'tcd-classic-editor' ); ?> 121 </label> 122 <div class="js-tcdce-setting-data-form tcdce-setting-data-form"> 123 <?php esc_html_e( 'Import exported data to restore settings.', 'tcd-classic-editor' ); ?> 124 <form method="post" enctype="multipart/form-data" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>"> 125 <?php wp_nonce_field( 'tcdce_import' ); ?> 126 <input type="hidden" name="action" value="tcdce_import_action" /> 127 <input type="hidden" name="setting" value="<?php echo esc_attr( $option ); ?>" /> 128 <input type="hidden" name="base_url" value="<?php echo esc_url( menu_page_url( $plugin_page, false ) ); ?>" /> 129 <input type="file" name="tcdce_import_file" accept=".json" onchange="this.setAttribute('data-file',this.files.length)" /> 130 <input type="submit" class="tcdce-setting-data-form-button" value="<?php esc_html_e( 'Import', 'tcd-classic-editor' ); ?>" /> 131 </form> 132 </div> 133 <label class="tcdce-setting-data-action"> 134 <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="currentColor"><path d="M720-148.46 851.54-280 824-307.54l-84 84V-419h-40v195.46l-84-84L588.46-280 720-148.46ZM580-20v-40h280v40H580ZM244.62-180q-26.08 0-45.35-19.27Q180-218.54 180-244.62v-550.76q0-26.08 19.27-45.35Q218.54-860 244.62-860H520l220 220v125.62h-40V-620H500v-200H244.62q-9.24 0-16.93 7.69-7.69 7.69-7.69 16.93v550.76q0 9.24 7.69 16.93 7.69 7.69 16.93 7.69h240v40h-240ZM220-220v-600 600Z"/></svg> 135 <input class="js-tcdce-setting-data-form-input" type="checkbox" style="display:none;"> 136 <?php esc_html_e( 'Export', 'tcd-classic-editor' ); ?> 137 </label> 138 <div class="js-tcdce-setting-data-form tcdce-setting-data-form"> 139 <?php esc_html_e( 'Download the current configuration as a JSON file.', 'tcd-classic-editor' ); ?> 140 <form method="get" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>"> 141 <?php wp_nonce_field( 'tcdce_export' ); ?> 142 <input type="hidden" name="action" value="tcdce_export_action" /> 143 <input type="hidden" name="setting" value="<?php echo esc_attr( $option ); ?>" /> 144 <input type="submit" class="tcdce-setting-data-form-button" value="<?php esc_html_e( 'Export', 'tcd-classic-editor' ); ?>" /> 145 </form> 146 </div> 147 </div> 148 <?php 149 } 150 151 152 /** 153 * インポート処理 154 */ 155 add_action( 'admin_post_tcdce_import_action', 'tcdce_import_action' ); 156 function tcdce_import_action() { 157 158 // nonce認証 159 check_admin_referer( 'tcdce_import' ); 160 161 // 設定ページのリンクがなければ終了 162 $setting = sanitize_text_field( wp_unslash( $_POST['setting'] ?? '' ) ); 163 $setting_page_url =sanitize_text_field( wp_unslash( $_POST['base_url'] ?? '' ) ); 164 if( ! $setting || ! $setting_page_url ){ 165 wp_die( esc_html__( 'Incorrect setting item.', 'tcd-classic-editor' ) ); 166 } 167 168 // ファイルがアップロードされていなければ終了 169 if ( empty( $_FILES['tcdce_import_file']['tmp_name'] ) ) { 170 wp_die( 171 esc_html__( 'File has not been uploaded.', 'tcd-classic-editor' ), 172 'Import error', 173 [ 'back_link' => true ] 174 ); 175 } 176 177 // ファイルの中身を読み取り 178 $uploaded_file_path = sanitize_text_field( wp_unslash( $_FILES['tcdce_import_file']['tmp_name'] ) ); 179 $json_string = file_get_contents( $uploaded_file_path ); 180 if (! $json_string) { 181 wp_die( 182 esc_html__( 'Failed to load uploaded file. The file may be corrupted.', 'tcd-classic-editor' ), 183 'Import error', 184 ['back_link' => true] 185 ); 186 } 187 188 // JSON のパース 189 try { 190 $decoded = json_decode( $json_string, true, 512, JSON_THROW_ON_ERROR ); 191 } catch (\JsonException $e) { 192 // JSONのパースに失敗した場合 193 wp_die( 194 esc_html__( 'JSON parsing failed. Please upload a file in the correct format.', 'tcd-classic-editor' ), 195 'Import error', 196 ['back_link' => true] 197 ); 198 } 199 200 // パース結果が配列かどうかチェック 201 if ( ! is_array( $decoded ) ) { 202 wp_die( 203 esc_html__( 'This is not expected data. Please upload the corresponding JSON format file.', 'tcd-classic-editor' ), 204 'Import error', 205 ['back_link' => true] 206 ); 207 } 208 209 // オプションを上書き 210 update_option( $setting, $decoded ); 211 212 // 終了後にリダイレクト 213 wp_safe_redirect( add_query_arg( [ 'imported' => 1 ], $setting_page_url ) ); 214 exit; 215 } 216 217 218 /** 219 * エクスポート処理 220 */ 221 add_action( 'admin_post_tcdce_export_action', 'tcdce_export_action' ); 222 function tcdce_export_action() { 223 224 // nonce認証 225 check_admin_referer( 'tcdce_export' ); 226 227 // optionの設定キー 228 $setting = sanitize_text_field( wp_unslash( $_GET['setting'] ?? '' ) ); 229 if( ! $setting ){ 230 wp_die( esc_html__( 'Incorrect setting item.', 'tcd-classic-editor' ) ); 231 } 232 233 // 現在のオプションを取得 234 $option_data = get_option( $setting ); 235 236 // JSON 化 237 try { 238 $json_data = json_encode( 239 $option_data, 240 JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE 241 ); 242 } catch (\JsonException $e) { 243 // JSONエンコード失敗時 244 wp_die( esc_html__( 'Failed to create JSON data for export.', 'tcd-classic-editor' ) ); 245 } 246 247 // 日付文字列 (例: 20250218) 248 $date_str = wp_date( 'Ymd' ); 249 250 // ダウンロードファイル名を組み立て 251 $filename = "{$setting}-{$date_str}.json"; 252 253 // ダウンロード用のヘッダーを送信 254 header( 'Content-Type: application/json; charset=utf-8' ); 255 header( "Content-Disposition: attachment; filename=\"{$filename}\"" ); 256 header( 'Cache-Control: no-cache, must-revalidate' ); 257 header( 'Expires: 0' ); 258 259 // JSON を出力して終了 260 // echo $json_data; 261 echo wp_kses( $json_data, wp_kses_allowed_html( 'tcdce' ) ); 262 exit; 263 } -
tcd-classic-editor/trunk/languages/ja.po
r3236860 r3248450 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-02- 06 06:05+0900\n"6 "PO-Revision-Date: 2025-02- 06 08:15+0900\n"5 "POT-Creation-Date: 2025-02-28 20:38+0900\n" 6 "PO-Revision-Date: 2025-02-28 20:38+0900\n" 7 7 "Last-Translator: Design Plus <support@wp-dp.com>\n" 8 8 "Language-Team: design plus\n" … … 52 52 msgstr "設定をリセットしました。" 53 53 54 #: classes/class-tcdce-admin-menu.php:237 54 #: classes/class-tcdce-admin-menu.php:215 55 msgid "Import is complete." 56 msgstr "インポートが完了しました。" 57 58 #: classes/class-tcdce-admin-menu.php:240 55 59 #: classes/support/class-tcdce-support.php:726 56 60 msgid "Settings" … … 68 72 msgstr "デフォルト" 69 73 70 #: classes/class-tcdce-editor.php:2 33setting/quicktag.php:1774 #: classes/class-tcdce-editor.php:241 setting/quicktag.php:17 71 75 #: setting/start-guide.php:33 72 76 msgid "Quicktag" 73 77 msgstr "クイックタグ" 74 78 75 #: classes/class-tcdce-editor.php:2 6279 #: classes/class-tcdce-editor.php:270 76 80 msgid "2 column" 77 81 msgstr "2カラム" 78 82 79 #: classes/class-tcdce-editor.php:2 63 classes/class-tcdce-editor.php:26883 #: classes/class-tcdce-editor.php:271 classes/class-tcdce-editor.php:276 80 84 msgid "Text and image tags to display in the left column" 81 85 msgstr "ここに左カラムに表示させたい任意のテキストや画像タグを入力します" 82 86 83 #: classes/class-tcdce-editor.php:2 63 classes/class-tcdce-editor.php:26887 #: classes/class-tcdce-editor.php:271 classes/class-tcdce-editor.php:276 84 88 msgid "Text and image tags to display in the right column" 85 89 msgstr "ここに右カラムに表示させたい任意のテキストや画像タグを入力します" 86 90 87 #: classes/class-tcdce-editor.php:2 6791 #: classes/class-tcdce-editor.php:275 88 92 msgid "3 column" 89 93 msgstr "3カラム" 90 94 91 #: classes/class-tcdce-editor.php:2 6895 #: classes/class-tcdce-editor.php:276 92 96 msgid "Text and image tags to display in the center column" 93 97 msgstr "ここに真ん中カラムに表示させたい任意のテキストや画像タグを入力します" 94 98 95 #: classes/class-tcdce-editor.php:2 7299 #: classes/class-tcdce-editor.php:280 96 100 msgid "Tab" 97 101 msgstr "タブ" 98 102 99 #: classes/class-tcdce-editor.php:2 73103 #: classes/class-tcdce-editor.php:281 100 104 msgid "" 101 105 "[tcd_tab tab1=\"Tab1 headline\" img1=\"Tab1 image url\" tab2=\"Tab2 " … … 105 109 "\" img2=\"タブ2の画像URL\"]" 106 110 107 #: classes/class-tcdce-editor.php:4 24111 #: classes/class-tcdce-editor.php:432 108 112 msgid "Please enter the correct URL." 109 113 msgstr "正しいURLを入力してください。" 110 114 111 #: classes/class-tcdce-editor.php:52 1115 #: classes/class-tcdce-editor.php:529 112 116 msgid "The address has not been entered." 113 117 msgstr "住所が入力されておりません。" 114 118 115 #: classes/class-tcdce-editor.php:5 28119 #: classes/class-tcdce-editor.php:536 116 120 msgid "Google Maps Platform API key not entered." 117 121 msgstr "Google Maps Platform APIキーが入力されておりません。" … … 334 338 msgstr "ブロックエディター" 335 339 340 #: helper.php:120 helper.php:130 341 msgid "Import" 342 msgstr "インポート" 343 344 #: helper.php:123 345 msgid "Import exported data to restore settings." 346 msgstr "エクスポートしたデータをインポートして設定を復元します。" 347 348 #: helper.php:136 helper.php:144 349 msgid "Export" 350 msgstr "エクスポート" 351 352 #: helper.php:139 353 msgid "Download the current configuration as a JSON file." 354 msgstr "現在の設定をJSONファイルとしてダウンロードします。" 355 356 #: helper.php:165 helper.php:230 357 msgid "Incorrect setting item." 358 msgstr "不正な設定項目です。" 359 360 #: helper.php:171 361 msgid "File has not been uploaded." 362 msgstr "ファイルがアップロードされていません。" 363 364 #: helper.php:182 365 msgid "Failed to load uploaded file. The file may be corrupted." 366 msgstr "" 367 "アップロードされたファイルの読み込みに失敗しました。ファイルが破損している可" 368 "能性があります。" 369 370 #: helper.php:194 371 msgid "JSON parsing failed. Please upload a file in the correct format." 372 msgstr "" 373 "JSON のパースに失敗しました。正しい形式のファイルをアップロードしてください。" 374 375 #: helper.php:203 376 msgid "" 377 "This is not expected data. Please upload the corresponding JSON format file." 378 msgstr "" 379 "想定されるデータではありません。対応したJSON形式のファイルをアップロードして" 380 "ください。" 381 382 #: helper.php:244 383 msgid "Failed to create JSON data for export." 384 msgstr "エクスポート用 JSON データ作成に失敗しました。" 385 336 386 #: setting/basic.php:17 setting/start-guide.php:28 337 387 msgid "Basic settings" … … 449 499 msgstr "背景色" 450 500 451 #: setting/quicktag.php:12 2501 #: setting/quicktag.php:121 452 502 msgid "The ability to add quick tags to the classic editor." 453 503 msgstr "クラシックエディタにクイックタグを追加できる機能です。" 454 504 455 #: setting/quicktag.php:12 3505 #: setting/quicktag.php:122 456 506 msgid "" 457 507 "Add headings, lists, buttons, and other items you need to use your own quick " … … 461 511 "を利用できます。" 462 512 463 #: setting/quicktag.php:12 4513 #: setting/quicktag.php:123 464 514 msgid "" 465 515 "We have already designed presets for you to set up each quick tag. Please " … … 469 519 "す。お好みのプリセットを選択してから、お客様自身でご調整ください。" 470 520 471 #: setting/quicktag.php:14 1521 #: setting/quicktag.php:142 472 522 msgid "Registered Quicktags" 473 523 msgstr "登録済みクイックタグ" 474 524 475 #: setting/quicktag.php:17 4525 #: setting/quicktag.php:175 476 526 msgid "Quicktags you can add" 477 527 msgstr "追加できるクイックタグ" 478 528 479 #: setting/quicktag.php:21 3529 #: setting/quicktag.php:214 480 530 #, php-format 481 531 msgid "%s Presets" 482 532 msgstr "%sプリセット" 483 533 484 #: setting/quicktag.php:21 6534 #: setting/quicktag.php:217 485 535 msgid "Close" 486 536 msgstr "閉じる" 487 537 488 #: setting/quicktag.php:22 1538 #: setting/quicktag.php:222 489 539 msgid "Hover the mouse cursor over the button to see the hover animation." 490 540 msgstr "ボタンにマウスカーソルをあてると、ホバーアニメーションを確認できます。" 491 541 492 #: setting/quicktag.php:24 8542 #: setting/quicktag.php:249 493 543 msgid "Load Preset" 494 544 msgstr "プリセットを読み込む" … … 670 720 671 721 #: setting/quicktag/box.php:401 setting/quicktag/heading.php:674 672 #: setting/quicktag/ol.php:403 setting/quicktag/sb.php:30 2722 #: setting/quicktag/ol.php:403 setting/quicktag/sb.php:303 673 723 #: setting/quicktag/ul.php:382 674 724 msgid "Border color" … … 708 758 #: setting/quicktag/box.php:515 setting/quicktag/button.php:374 709 759 #: setting/quicktag/heading.php:900 setting/quicktag/ol.php:553 710 #: setting/quicktag/sb.php:31 1setting/quicktag/ul.php:506760 #: setting/quicktag/sb.php:313 setting/quicktag/ul.php:506 711 761 msgid "Margin" 712 762 msgstr "マージン" … … 714 764 #: setting/quicktag/box.php:517 setting/quicktag/button.php:376 715 765 #: setting/quicktag/heading.php:902 setting/quicktag/ol.php:555 716 #: setting/quicktag/sb.php:31 3setting/quicktag/ul.php:508766 #: setting/quicktag/sb.php:315 setting/quicktag/ul.php:508 717 767 msgid "Margin top" 718 768 msgstr "上の余白" … … 720 770 #: setting/quicktag/box.php:530 setting/quicktag/button.php:390 721 771 #: setting/quicktag/heading.php:916 setting/quicktag/ol.php:568 722 #: setting/quicktag/sb.php:32 6setting/quicktag/ul.php:521772 #: setting/quicktag/sb.php:328 setting/quicktag/ul.php:521 723 773 msgid "Margin bottom" 724 774 msgstr "下の余白" -
tcd-classic-editor/trunk/readme.txt
r3236860 r3248450 4 4 Requires at least: 6.7 5 5 Tested up to: 6.7 6 Stable tag: 1. 1.16 Stable tag: 1.2 7 7 Requires PHP: 8.0 8 8 License: GPLv2 or later … … 47 47 48 48 == Changelog == 49 = 1.2 = 50 * Changed: Implemented import/export functionality and fixed styling issues. 51 49 52 = 1.1.1 = 50 53 * Updated: Minor CSS adjustments for improved design. 51 54 52 = 1.1 .0=55 = 1.1 = 53 56 * Official stable release after test version 54 57 55 = 1.0 .0=58 = 1.0 = 56 59 * Initial test release 57 60 -
tcd-classic-editor/trunk/setting/quicktag.php
r3235706 r3248450 82 82 83 83 return apply_filters( "tcdce_quicktag_setting_default", $default ); 84 85 84 } 86 85 … … 130 129 ?> 131 130 <div class="tcdce-setting"> 131 <?php // インポート / エクスポート ?> 132 <?php tcdce_import_export_view(); ?> 132 133 <form id="js-tcdce-form" class="tcdce-setting__form" action="options.php" method="post"> 133 134 <?php -
tcd-classic-editor/trunk/setting/quicktag/sb.php
r3235706 r3248450 297 297 'title' => __( 'Background color', 'tcd-classic-editor' ), 298 298 'col' => 2, 299 'field' => $instance->color( $style_name, $style_value, '--tcdce-sb-preset-color--bg' ) 299 'field' => $instance->color( $style_name, $style_value, '--tcdce-sb-preset-color--bg' ), 300 'class' => 'tcdce-sb-bg-color' 300 301 ), 301 302 array( 302 303 'title' => __( 'Border color', 'tcd-classic-editor' ), 303 304 'col' => 2, 304 'field' => $instance->color( $style_name, $style_value, '--tcdce-sb-preset-color--border' ) 305 'field' => $instance->color( $style_name, $style_value, '--tcdce-sb-preset-color--border' ), 306 'class' => 'tcdce-sb-border-color' 305 307 ), 306 308 -
tcd-classic-editor/trunk/tcd-classic-editor.php
r3236860 r3248450 4 4 * Plugin URI: 5 5 * Description: This is a classic editor extension plug-in for TCD users. 6 * Version: 1. 1.16 * Version: 1.2 7 7 * Author: TCD 8 8 * Author URI: https://tcd-theme.com/ … … 65 65 ); 66 66 67 // add image size 68 add_image_size( 'tcdce-s', 300, 300, true ); 69 67 70 // helper 68 71 require_once TCDCE_PATH . 'helper.php';
Note: See TracChangeset
for help on using the changeset viewer.