URLとタイトルのコピーボタンについてのメモ

運営日誌

以前使っていた『URLとタイトルのコピーボタン』のタグなどのメモページです。

概要

シェア用にURLとタイトルを 1タップでコピー出来る『URLとタイトルのコピーボタン』という物を設置していたのですが テンプレートでほぼ同じ物が実装されたので そちらを採用して 撤去しました。

今後別の機会に同じようなボタンを設置するかも知れないので メモ書きしておこうと思います。

ちなみに こんなボタンの事です

さようなら ドスエハン
(* ̄▽ ̄)ノ~~ マタネー♪

JS

<script src="https://cdn.jsdelivr.net/npm/clipboard@1/dist/clipboard.min.js"></script>
<script>
var clipboard = new Clipboard('.copy_btn');
    clipboard.on('success', function(e) {
    jQuery(".copy_btn").addClass('copied');
    jQuery(".copy_btn span").text('コピーしました');
    jQuery(".copy_text").slideDown('slow');
});
    clipboard.on('error', function(e) {
    jQuery(".copy_btn").addClass('copied not-copied');
    jQuery(".copy_btn span").text('コピーできませんでした');
    jQuery(".copy_text").slideDown('slow');
});
</script>
<script>
jQuery('#copy_textbox').on('click', function(e) {
  e.target.setSelectionRange(0, e.target.value.length);
});
</script>

functions.phpに記入

//タイトルとURL取得のショートコード
function myshortcode_copy_btn() {
$title = wp_get_document_title();
$url = get_permalink();

return '
<div class="copy_main">
<div class="copy_btn" data-clipboard-text="'.$title.' '.$url.'">
<i class="fa"></i><span>この記事のURLとタイトルをコピーする</span>
</div>
<div class="copy_text">
<div>お使いの端末ではこの機能に対応していません。<br />下のテキストボックスからコピーしてください。
</div>
<form><input type="text" id="copy_textbox" value="'.$title.' '.$url.'" /></form>
</div>
</div>
';
}
add_shortcode('copy_btn', 'myshortcode_copy_btn');

HTML①

<div class="copy_main">
<div class="copy_btn" data-clipboard-text="<?php echo wp_get_document_title(); ?><?php echo get_permalink(); ?>">
<i class="fa"></i><span>この記事のURLとタイトルをコピーする</span>
</div>
<div class="copy_text">
<div>お使いの端末ではこの機能に対応していません。<br />下のテキストボックスからコピーしてください。
</div>
<form><input type="text" id="copy_textbox" value="<?php echo wp_get_document_title(); ?><?php echo get_permalink(); ?>">
</form>
</div>
</div>

CSS

/******
タイトルとURLをコピーする
**********************************/

.copy_main {
margin: 0 0 1em;
text-align: center;
}

.copy_btn {display: inline-block;
padding: 0.5em 1em;
text-decoration: none;
background: #fff;
border: double 4px #333;
border-radius: 3px;
transition: .4s;
text-align: center;
line-height: 1em;
cursor: pointer;
font-size: 0.8em;
}

#sidebar-menu-content .copy_btn copied{
margin-bottom: 20px;
}

.copy_btn i:before {
display: inline-block;
margin-right: 8px;
content: '\f0c5';
font-size: 1.3em;
}

.copy_btn:hover {
opacity: .7;
}

.copy_btn.copied {
border: double 4px transparent;
background: #0095d9;
color: #fff;
pointer-events: none;
}

.copy_btn.copied {
cursor: auto
}

.copy_btn.copied i:before {
content: '\f00c';
}

.copy_btn.not-copied {
background: #d90028;
}

.copy_btn.not-copied i:before {
content: '\f06a';
}

.copy_text {
display: none;
overflow: hidden;
}

.copy_text div {
margin: 15px 8px 0;
font-size: 13px;
line-height: 1.2em;
}

.copied+.copy_text div {
display: none;
}

.not-copied+.copy_text div {
display: block;
}

#copy_textbox {
margin-top: 10px;
width: 100%;
border: 1px solid #333;
border-radius: 3px;
font-size: 16px;
}
トップへ戻る
タイトルとURLをコピーしました