WordPress 4.7'deki Yeni PDF Önizleme Görüntülerini Gerçek Dünyada Kullanma


WordPress 4.7 2016'nın sonunda yayınlandığında, yanıtların çoğu gönderiler, yorumlar, terimler, kullanıcılar, meta ve ayarlar için yeni REST API uç noktaları etrafındaydı. Ancak gözüme çarpan yeni küçük özelliklerden biriydi: PDF önizleme görüntüleri.

Bu yazıda size bunun ne anlama geldiğini, neden yararlı olduğunu ve kendi sitenizde nasıl kuracağınızı anlatacağım.

Gerçek Dünya Kullanımı

Yeni özellik, WordPress'in artık Medya Kitaplığına yüklendiğinde bir PDF'nin ilk sayfasından, sunucunuz gerekli gereksinimlere sahip olduğu sürece (daha fazlası için) bir görüntü oluşturma yeteneğine sahip olduğu anlamına gelir. Yayın gönderisi, yeni özelliğin "tüm belgeleriniz arasında daha kolay ayrım yapmanıza" olanak tanıdığını söylüyor, ancak ön izleme görüntüsü için daha iyi bir kullanım olduğunu anında fark ettim.

Son 4 yıldır eşim, öğretmenlerin ve ebeveynlerin ücretsiz PDF öğretim kaynaklarını indirmelerine izin veren bir eğitim kaynakları web sitesi işletiyor. Doğal olarak siteyi inşa etmek ve sürdürmek için bağlandım! WordPress (elbette) üzerinde çalışır ve Easy Digital Downloads tarafından desteklenir. Her yeni kaynak eklediğinde, iş akışı şunları içerir:

  • PDF kaynağını oluşturun
  • İlk sayfadan bir görüntü oluşturmak için bir program kullanın
  • PDF dosyasını yeni bir EDD İndirmesine ekleyin
  • Resmi İndirme'nin öne çıkan resmi olarak ekleyin

Bu, 600'den fazla kez yapmak zorunda kaldığı gereksiz yere uzun bir süreç!

Siteyi kurduğumda, sitede bunu otomatikleştirebilecek kütüphaneler olduğunun farkındaydım, ancak ucuz paylaşımlı barındırma beni engelledi ve kendi sysadmin yeteneklerimle sınırlı kaldım. Bu her zaman eklemeyi düşündüğüm bir gelişmeydi ve Mike Schroder'ın Make WordPress blogundaki gönderisini gördüğümde, bunu uygulama zamanının geldiğini biliyordum.

Gereksinimler

Bu özellik, sunucunuza veya geliştirme ortamınıza yüklenmesi gereken bazı özel paketlere dayanır:

  • ImageMagick
  • Imagick
  • hayalet yazısı

ImageMagick, bitmap görüntüleri oluşturabilen, düzenleyebilen, oluşturabilen veya dönüştürebilen ve ayrıca PDF dahil 200'den fazla formatta görüntü okuyup yazabilen bir yazılımdır. Imagick, ImageMagick ile PHP aracılığıyla iletişim kurmak için biraz kafa karıştırıcı olarak adlandırılan PHP uzantısıdır. Son olarak Ghostscript, PostScript dili ve PDF için bir yorumlayıcıdır.

Kurulum

Bu yazılım paketleri varsayılan olarak sunuculara yüklenmeyebilir ve genellikle paylaşılan barındırmada bulunmaz. Ancak, kendi sunucularınızı yönetiyorsanız veya iyi yönetilen bir WordPress ana bilgisayarı kullanıyorsanız, kurulumu yapabilmeniz gerekir. Yeni WordPress özelliğini test etmek ve siteye entegre etmek için önce yerel geliştirme ortamımı kurmam gerekiyordu.

MAMP

MAMP PRO 4'ten itibaren, ImageMagick desteği eklenmiştir. Bunu PHP ayarları ekranındaki uzantılar listesinden etkinleştirebilirsiniz:

mamp pro 4 görüntü sihirli kurulum

Ancak, hala 3.5 sürümünü çalıştırdığım için hepsini manuel olarak yapmak zorunda kaldım. Ancak (bir sistem yöneticisi olarak eksikliklerime rağmen) bunların hepsini kolayca kurmayı ve yapılandırmayı başardığımı görünce hoş bir şekilde şaşırdım. Homebrew gibi harika araçları kullanabildiğinizde işler çok daha kolay!

Öncelikle gerekli yazılımı makinemize kurmamız gerekiyor:

 brew update brew install ghostscript brew install ImageMagick --with-ghostscript

Ardından, aşağıdakileri çalıştırarak ve delegeler tablosunda pdf görerek kurulumun çalışıp çalışmadığını kontrol edebilirsiniz:

 convert -list delegate

Şimdi PHP'ye ImageMagick ile çalışmasını söylememiz gerekiyor. PHP ile komut satırında konuşurken MAMP'ın PHP sürümünü kullandığımızdan emin olmak istiyoruz. Bunu yapmak için, /Applications/MAMP/bin/php/php5.5.26/bin/php gibi PHP için açık MAMP dizini ön ekine sahip komutları çalıştırabilir veya Terminal'i php komutunu çalıştırırken her zaman MAMP sürümünü kullanacak şekilde yapılandırabilirsiniz.

MAMP ile birlikte gelen PECL'yi kullanarak Imagick uzantısını yükleyelim:

 pecl install imagick

Son olarak, bir yere extension=imagick.so ekleyerek php.ini dosyasındaki uzantıyı etkinleştirmemiz gerekiyor. ('Dinamik Modüller' bölümüne ekledim.) MAMP PRO kullanıyorsanız Dosya > Şablonu Düzenle'yi kullanabilir veya php --ini | grep "Loaded Configuration File” Dosyayı bulmak ve orada düzenlemek için php --ini | grep "Loaded Configuration File” .

Tüm bunlar bittiğinde, MAMP'ı durdurun ve başlatın; aşağıdakileri çalıştırarak tüm kurulumu test edebilirsiniz:

 php -r "var_export(class_exists('imagick'));"

Başarılı bir yanıt için bu true yazdırılmalıdır. Sürecin çoğu aşaması için sorun giderme ipuçları içeren bu mükemmel kılavuzu yol boyunca bana yardımcı olması için kullandım.

Ubuntu

Site, PHP 7 ile Ubuntu 14 üzerinde çalışan Ashley'in bu harika barındırma serisini takip ederek oluşturulmuş bir Dijital Okyanus damlacığında barındırılıyor. Ortamınıza bağlı olarak aşağıdaki PHP sürüm numarasını değiştirmeniz gerekecek:

 sudo apt-get update sudo apt-get php7.0-imagick

Sonunda PHP hizmetinizi yeniden başlatın, benim durumumda koştum:

 sudo service php-fpm7.0 restart

Ayrıca, tüm gereksinimlerin doğru yüklenip yüklenmediğini ve hangi sürümlerin kurulu olduğunu bana söylemek için Debug Bar'ı genişleten Debug Media eklentisini kurdum.

Önizleme Görüntüsünü Kullanma

Her şey yüklendiğinde, WordPress yüklediğiniz her PDF için bir resim oluşturmalıdır:

Önizleme görüntüsü ile pdf yükleme

Dediğim gibi, bu, panodaki PDF'leri önizlemek için güzel, ancak resimle biraz daha yapmam ve sitenin ön ucunda görüntülemem gerekiyordu. Aslında her yerde kullanılacak PDF görüntüsünü elde etmek gerçekten çok kolay. PDF ekinin kimliğini biliyorsanız, görüntüyü herhangi bir boyutta almak şu kadar basittir:

 $image = wp_get_attachment_image( $attachment_id, 'large' );

Ancak benim durumumda, İndirme'nin öne çıkan görüntüsü yerine PDF'nin görüntüsü kullanılacaktı. İndirme, EDD'nin kullandığı ve birden fazla indirilebilir dosyaya sahip olabilen özel bir gönderi türüdür. İndirme Kimliğini geçerken ilk dosyanın görüntüsünü almak için küçük bir yardımcı işlev yazdım, ancak varsa öne çıkan görüntüyü kullandım:

 function get_download_image( $id, size = 'large' ) { if ( has_post_thumbnail( $id ) ) { return get_the_post_thumbnail( $id, $size ); } if ( ! function_exists( 'edd_get_download_files' ) ) { return ''; } $files = edd_get_download_files( $id ); foreach ( $files as $file ) { if ( empty( $file['attachment_id'] ) ) { continue; } $image = wp_get_attachment_image( $file['attachment_id'], $size ); if ( $image ) { return $image; } } return ''; }

Daha fazla bilirsen

Yardımcı işlevim mevcut indirmeler için öne çıkan resmi kullansa da, sitede bulunan tüm PDF'ler için önizleme resimlerini oluşturmak üzere WordPress'i almayı düşündüm. Geriye dönük olarak önizleme görüntüleri oluşturmak istiyorsanız, WP-CLI arkadaşınızdır! 1.0.1 sürümünden itibaren, PDF eklerini işleyecek ve önizleme görüntüsünü oluşturacak olan wp media regenerate komutunu kullanabilirsiniz.

Gelecekte tüm medyayı (PDF'ler ve resimler) sunucudan Amazon S3'e taşımayı ve CloudFront'u CDN olarak kullanmayı planlıyorum. Doğal olarak, iş için 1.3.1 sürümünden bu yana yeni PDF önizleme görüntüsü özelliğiyle sorunsuz çalışan WP Offload S3 kullanacağım.

Kitaplığınıza yüklenen her PDF için gerçekten bir görüntünün oluşturulmasını istemediğiniz zamanlar olabilir. Sonuçta, önizleme görüntüsü yalnızca bir dosya değildir – her görüntü boyutu için bir görüntü dosyası vardır. Bu, yükleme işlemi sırasında oluşturulması ve sunucuda depolanması gereken önemli miktarda görüntü olabilir.

Önizleme görüntü özelliğini kapatmak çok basittir. Aşağıdakileri bir mu-eklentisine veya normal bir eklentiye ekleyin:

 add_filter( 'fallback_intermediate_image_sizes', '__return_empty_array' );

Çözüm

PDF önizleme görüntüleri, WordPress için gerçekten güzel bir geliştirme ve anında kullanabileceğim ve faydasını görebileceğim bir şey. Karımın siteyi yönetme biçiminde gerçekten bir fark yarattı ve yeni kaynaklar eklemek için gereken süreyi önemli ölçüde azalttı. Sadece bazen daha küçük iyileştirmelerin en yararlı olabileceğini gösteriyor.

Bu yeni özelliği kendiniz kullandınız mı? WordPress çekirdeğindeki daha küçük özellikleri gerçekten yararlı buldunuz mu? Aşağıdaki yorumlarda bana bildirin.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

Divi's Theme Builder ile Özel Global Başlık Nasıl Oluşturulur

Artık Tema Oluşturucu burada olduğuna göre, web sitenizi A'dan Z'ye kurmanıza yardımcı olacak yeni eğitimlere dalmak için sabırsızlanıyoruz. Buna Divi'nin yerleşik seçeneğini kullanarak özel başlıklar oluşturma da dahildir. Bu eğitimde Divi's Theme Builder'ı kullanarak global bir başlık oluşturmaya odaklanacağız. Bu sayfaya veya gönderiye farklı bir başlık atamadıysanız, web sitenizin her yerinde genel bir başlık görünecektir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir