• 05-10-2018, 09:56:04
    #1
    Merhabalar, Wordpress sitemde altta yazıda ki metni kopyalayacak bir buton koymak istiyorum bunu yapan bir eklenti var mıdır bu konuda yardımcı olacak arkadaşlar bekliyorum.
  • 06-10-2018, 11:08:48
    #3
    Hocam admin panelinde kopyalama olayını demiyorum. Site açıkken habere girenlerin haber içeriğini kopyalamaları için bir buton eklemek istiyorum bunu yapan eklenti veya kod var mı acaba?
  • 06-10-2018, 13:52:04
    #4
    Önce aşağıdaki kodu single.php dosyasına ekle.
    <script type="text/javascript">
    document.getElementById("kopyala").addEventListener("click", function() {
    copyToClipboardMsg(document.getElementById("icerik"), "msg");
    });
    
    document.getElementById("pasteTarget").addEventListener("mousedown", function() {
    this.value = "";
    });
    
    
    function copyToClipboardMsg(elem, msgElem) {
    var succeed = copyToClipboard(elem);
    var msg;
    if (!succeed) {
    msg = "Kopyala desteklenmiyor veya izin verilmiyor. Lütfen ctrl+c yapın"
    } else {
    msg = "İçerik kopyalandı!"
    }
    if (typeof msgElem === "string") {
    msgElem = document.getElementById(msgElem);
    }
    msgElem.innerHTML = msg;
    setTimeout(function() {
    msgElem.innerHTML = "";
    }, 2000);
    }
    
    function copyToClipboard(elem) {
    var targetId = "_hiddenCopyText_";
    var isInput = elem.tagName === "INPUT" || elem.tagName === "TEXTAREA";
    var origSelectionStart, origSelectionEnd;
    if (isInput) {
    target = elem;
    origSelectionStart = elem.selectionStart;
    origSelectionEnd = elem.selectionEnd;
    } else {
    target = document.getElementById(targetId);
    if (!target) {
    var target = document.createElement("textarea");
    target.style.position = "absolute";
    target.style.left = "-9999px";
    target.style.top = "0";
    target.id = targetId;
    document.body.appendChild(target);
    }
    target.textContent = elem.textContent;
    }
    var currentFocus = document.activeElement;
    target.focus();
    target.setSelectionRange(0, target.value.length);
    
    var succeed;
    try {
    succeed = document.execCommand("copy");
    } catch(e) {
    succeed = false;
    }
    if (currentFocus && typeof currentFocus.focus === "function") {
    currentFocus.focus();
    }
    
    if (isInput) {
    elem.setSelectionRange(origSelectionStart, origSelectionEnd);
    } else {
    target.textContent = "";
    }
    return succeed;
    }
    </script>
    Sonra yazının bulunduğu dive id="icerik" ekle.

    Sonra aşağıdaki kodla kopyalama butonu ekle (Nerde gözükmesini istiyorsan)

    <button id="kopyala">Kopyala</button>
    İşlem bu kadar. Eğer içerik kopyalandı mesajı göstermek istiyorsan aşağıdaki kodu da istediğin bir yere ekleyebilirsin.

    <span id="msg"></span>
  • 25-12-2018, 14:05:12
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    bilimokur adlı üyeden alıntı: mesajı görüntüle
    Önce aşağıdaki kodu single.php dosyasına ekle.
    <script type="text/javascript">
    document.getElementById("kopyala").addEventListener("click", function() {
    copyToClipboardMsg(document.getElementById("icerik"), "msg");
    });
    
    document.getElementById("pasteTarget").addEventListener("mousedown", function() {
    this.value = "";
    });
    
    
    function copyToClipboardMsg(elem, msgElem) {
    var succeed = copyToClipboard(elem);
    var msg;
    if (!succeed) {
    msg = "Kopyala desteklenmiyor veya izin verilmiyor. Lütfen ctrl+c yapın"
    } else {
    msg = "İçerik kopyalandı!"
    }
    if (typeof msgElem === "string") {
    msgElem = document.getElementById(msgElem);
    }
    msgElem.innerHTML = msg;
    setTimeout(function() {
    msgElem.innerHTML = "";
    }, 2000);
    }
    
    function copyToClipboard(elem) {
    var targetId = "_hiddenCopyText_";
    var isInput = elem.tagName === "INPUT" || elem.tagName === "TEXTAREA";
    var origSelectionStart, origSelectionEnd;
    if (isInput) {
    target = elem;
    origSelectionStart = elem.selectionStart;
    origSelectionEnd = elem.selectionEnd;
    } else {
    target = document.getElementById(targetId);
    if (!target) {
    var target = document.createElement("textarea");
    target.style.position = "absolute";
    target.style.left = "-9999px";
    target.style.top = "0";
    target.id = targetId;
    document.body.appendChild(target);
    }
    target.textContent = elem.textContent;
    }
    var currentFocus = document.activeElement;
    target.focus();
    target.setSelectionRange(0, target.value.length);
    
    var succeed;
    try {
    succeed = document.execCommand("copy");
    } catch(e) {
    succeed = false;
    }
    if (currentFocus && typeof currentFocus.focus === "function") {
    currentFocus.focus();
    }
    
    if (isInput) {
    elem.setSelectionRange(origSelectionStart, origSelectionEnd);
    } else {
    target.textContent = "";
    }
    return succeed;
    }
    </script>
    Sonra yazının bulunduğu dive id="icerik" ekle.

    Sonra aşağıdaki kodla kopyalama butonu ekle (Nerde gözükmesini istiyorsan)

    <button id="kopyala">Kopyala</button>
    İşlem bu kadar. Eğer içerik kopyalandı mesajı göstermek istiyorsan aşağıdaki kodu da istediğin bir yere ekleyebilirsin.

    <span id="msg"></span>
    detaylı bilgi için teşekkürler.
    sizin eklediğiniz bu kodlar ile sayfa içerisinde sadece "id=icerik" olan yazı veya yazılar kopyalanacak.

    benim yapmak istediğim şu;
    sitemde bazı kodlar paylaşıyorum bunların kullanıcılar tarafından butona tıklayınca kopyalanmasını istiyorum. bir sayfada birden çok kod paylaşıyorum. hepsinin ayrı id si olacak. peki o zaman bu kodu nasıl değiştirmek gerek?

    not: pre ve code alanlarında kopyalama yaptıracağım
  • 25-12-2018, 14:13:55
    #6
    Aramızdan Ayrılanlar - Vefat Edenler
    stan0ne adlı üyeden alıntı: mesajı görüntüle
    detaylı bilgi için teşekkürler.
    sizin eklediğiniz bu kodlar ile sayfa içerisinde sadece "id=icerik" olan yazı veya yazılar kopyalanacak.

    benim yapmak istediğim şu;
    sitemde bazı kodlar paylaşıyorum bunların kullanıcılar tarafından butona tıklayınca kopyalanmasını istiyorum. bir sayfada birden çok kod paylaşıyorum. hepsinin ayrı id si olacak. peki o zaman bu kodu nasıl değiştirmek gerek?

    not: pre ve code alanlarında kopyalama yaptıracağım

    Bu işinizi görecektir...

    https://tr.wordpress.org/plugins/syntaxhighlighter/
  • 25-12-2018, 15:58:59
    #7
    Sungmert adlı üyeden alıntı: mesajı görüntüle
    syntax highlighter için prismjs ve code-pretty ile eklentisiz olarak kullanıyorum.

    eklentisiz nasıl yapabilirim?
  • 25-12-2018, 18:08:28
    #8
    Eklentisiz yapmak için prism.js yi kullanın.