[JavaScript]break備忘録
loop: for(i=0;i<10;i++){ for(key in item.properties){ if(key === 'break'){ break loop; } } }
loop: for(i=0;i<10;i++){ for(key in item.properties){ if(key === 'break'){ break loop; } } }
文字列から漢字抽出
const str = 'ひらがな小林カタカナ漢字'; const pattern = /(\p{scx=Han}+)/ug; const matches = str.match(pattern); console.log(matches);
出力
(2) ['小林', '漢字']
function get_parents($post,$parents = array()) { if (!empty($post->post_parent)){ $parent = get_post($post->post_parent); array_unshift( $parents, $parent); return get_parents( $parent, $parents ); } return $parents; } function the_parents($post,$format) { $parents = get_parents($post); if(!empty($parents)){ foreach($parents as $i => $parent){ $html = $format; $html = preg_replace('/%permalink%/',get_permalink($parent->ID),$html); $html = preg_replace('/%title%/',esc_html($parent->post_title),$html); echo $html; } } }
function disable_jsonld_of_aioseo() { return true; } add_filter('aioseo_schema_disable', 'disable_jsonld_of_aioseo');
function custom_image_size() { add_image_size('news_pc',270,466,true); add_image_size('news_sp',335,168,true); add_image_size('newsdetail',340,170,true); } add_action('after_setup_theme', 'custom_image_size');
function add_admin_style() { wp_enqueue_script('admin_script', get_template_directory_uri().'/scripts/admin.js'); wp_enqueue_style('admin_style', get_template_directory_uri().'/style/admin.css'); } add_action('admin_enqueue_scripts', 'add_admin_style');
import { View, Text, useSettings, reactExtension, } from '@shopify/ui-extensions-react/checkout'; export default reactExtension("purchase.checkout.block.render", () => ( <Extension /> )); function Extension() { const { title,left,border } = useSettings(); const _title = title ? title : 'タイトル'; const _left = left ? "start" : "center" const _border = border ? "none" : "base" return ( <View display="block" padding="base" border={_border} cornerRadius="base" inlineAlignment={_left}> <Text size="base" emphasis="bold">{_title}</Text> </View> ); }
shopify.extension.tomlに追記
[extensions.settings] [[extensions.settings.fields]] key = "title" type = "single_line_text_field" name = "表示する文言" description = "表示する文言を入力してください" [[extensions.settings.fields]] key = "left" type = "boolean" name = "テキストを左寄せにする" [[extensions.settings.fields]] key = "border" type = "boolean" name = "枠線を表示しない"
function custom_remove_menus() { global $menu; /** 投稿 */ remove_menu_page('edit.php'); /** コメント */ remove_menu_page('edit-comments.php'); } add_action('admin_menu', 'custom_remove_menus');
Checkout.jsx
import { Banner, TextBlock, reactExtension, useSettings, } from '@shopify/ui-extensions-react/checkout'; export default reactExtension("purchase.checkout.block.render", () => ( <Extension /> )); function Extension() { const { title,desc,banner_status } = useSettings(); const _title = title ? title : ''; const _desc = desc ? desc : ''; const _banner_status = banner_status ? banner_status : 'warning'; const descs = _desc.split("\n").map((item,i)=>{ return <TextBlock size="base" appearance={_banner_status}>{item}</TextBlock> }); return ( <Banner title={_title} status={_banner_status}> {descs} </Banner> ); }
shopify.extension.tomlに追記
[extensions.settings] [[extensions.settings.fields]] key = "title" type = "single_line_text_field" name = "表示するタイトル" description = "表示するタイトルを入力してください" [[extensions.settings.fields]] key = "desc" type = "multi_line_text_field" name = "表示する文言" description = "表示する文言を入力してください" [[extensions.settings.fields]] key = "banner_status" type = "single_line_text_field" name = "バナーの状態" [[extensions.settings.fields.validations]] name = "choices" value = '["info", "success","warning","critical"]'