Rumah > Tutorial CMS > WordTekan > Tingkatkan tema anda dengan Envato WordPress Toolkit: Library

Tingkatkan tema anda dengan Envato WordPress Toolkit: Library

王林
Lepaskan: 2023-09-02 12:41:01
asal
929 orang telah melayarinya

使用 Envato WordPress 工具包增强您的主题:库

Dalam bahagian terakhir tutorial ini, kami mempelajari cara menggunakan kelas pengaktifan pemalam TGM untuk memerlukan pemalam Envato WordPress Toolkit pada bila-bila masa tema kami sedang digunakan. Pemalam membenarkan pengguna memasang dan mengemas kini tema yang dibeli dalam pentadbir.

Bahagian seterusnya akan mengajar anda cara melaksanakan Perpustakaan Envato WordPress Toolkit supaya kami boleh menggunakan Envato Marketplace API untuk menyemak secara kerap apabila kemas kini kepada tema kami tersedia.

Apabila kemas kini tersedia, kami akan memaparkan pemberitahuan dalam pentadbir dan mengarahkan pengguna untuk mengakses pemalam untuk mengemas kini.


1. Termasuk perpustakaan toolkit

Kami perlu memasukkan perpustakaan kit alat terlebih dahulu ke dalam projek kami. Muat turun fail ZIP Pustaka Alat Envato WordPress. Nyahzip dan salin folder envato-wordpress-toolkit-library ke dalam folder inc dalam tema anda. Anda sepatutnya mendapat laluan ini:

  • mytheme/inc/envato-wordpress-toolkit-library/class-envato-protected-api.php
  • mytheme/inc/envato-wordpress-toolkit-library/class-envato-wordpress-theme-upgrader.php

Nota: Anda boleh menukar lokasi fail di atas mengikut keperluan anda. Sebagai alternatif, anda boleh memuat turun kod sumber penuh daripada pautan muat turun di bahagian atas artikel ini.


2. Fungsi cangkuk pentadbir

Kini kita boleh mulakan pengekodan. Kami akan menyambung operasi admin_init. Tambahkan kod berikut pada admin_init 操作。将以下代码添加到您的 functions.php 中:

/**
 * Load the Envato WordPress Toolkit Library check for updates
 * and direct the user to the Toolkit Plugin if there is one
 */
function envato_toolkit_admin_init() {

    // Include the Toolkit Library
    include_once( get_template_directory() . '/inc/envato-wordpress-toolkit-library/class-envato-wordpress-theme-upgrader.php' );

    // Add further code here

}
add_action( 'admin_init', 'envato_toolkit_admin_init' );
Salin selepas log masuk

3. 使用工具包插件信息

工具包库需要 Envato 用户名和 API 密钥才能工作。由于我们在上一个教程中需要 Toolkit 插件,因此我们可以使用在其设置中找到的用户名和 API 密钥字段的输入值。如果这些字段未填写,我们可以显示一条通知,要求用户在 Toolkit 插件中输入它们。

// Use credentials used in toolkit plugin so that we don't have to show our own forms anymore
$credentials = get_option( 'envato-wordpress-toolkit' );
if ( empty( $credentials['user_name'] ) || empty( $credentials['api_key'] ) ) {
    add_action( 'admin_notices', 'envato_toolkit_credentials_admin_notices' );
    return;
}
Salin selepas log masuk

我们需要在外部添加相应的钩子函数来显示我们的管理通知:

/**
 * Display a notice in the admin to remind the user to enter their credentials
 */
function envato_toolkit_credentials_admin_notices() {
    $message = sprintf( __( "To enable theme update notifications, please enter your Envato Marketplace credentials in the %s", "default" ),
        "<a href='" . admin_url() . "admin.php?page=envato-wordpress-toolkit'>Envato WordPress Toolkit Plugin</a>" );
    echo "<div id='message' class='updated below-h2'><p>{$message}</p></div>";
}
Salin selepas log masuk

4.定期更新检查

工具包库始终使用 Envato Marketplace API 检查主题更新。这并不好,因为每次用户访问管理页面时都执行它会显着减慢页面加载时间。我们只需要定期检查更新即可。

每 3 小时检查一次听起来是个好主意:

// Check updates only after a while
$lastCheck = get_option( 'toolkit-last-toolkit-check' );
if ( false === $lastCheck ) {
    update_option( 'toolkit-last-toolkit-check', time() );
    return;
}

// Check for an update every 3 hours
if ( 10800 < ( time() - $lastCheck ) ) {
    return;
}

// Update the time we last checked
update_option( 'toolkit-last-toolkit-check', time() );
Salin selepas log masuk

5. 检查更新

最后,我们可以使用该库检查更新:

// Check for updates
$upgrader = new Envato_WordPress_Theme_Upgrader( $credentials['user_name'], $credentials['api_key'] );
$updates = $upgrader->check_for_theme_update();

// If $updates->updated_themes_count == true then we have an update!
Salin selepas log masuk

6.主题更新通知

从这一刻起,您可以选择使用工具包库函数 $upgrader->upgrade_theme();functions.php

anda:

// Add update alert, to update the theme
if ( $updates->updated_themes_count ) {
    add_action( 'admin_notices', 'envato_toolkit_admin_notices' );
}
Salin selepas log masuk

3.
Menggunakan maklumat pemalam kit alat

Pustaka kit alat memerlukan nama pengguna Envato dan kunci API untuk berfungsi. Memandangkan kami memerlukan pemalam Toolkit dalam tutorial sebelumnya, kami boleh menggunakan nilai input untuk medan Nama Pengguna dan Kunci API yang terdapat dalam tetapannya. Jika medan ini tidak diisi, kami boleh memaparkan pemberitahuan yang meminta pengguna memasukkannya dalam pemalam Toolkit.

/**
 * Display a notice in the admin that an update is available
 */
function envato_toolkit_admin_notices() {
    $message = sprintf( __( "An update to the theme is available! Head over to %s to update it now.", "default" ),
        "<a href='" . admin_url() . "admin.php?page=envato-wordpress-toolkit'>Envato WordPress Toolkit Plugin</a>" );
    echo "<div id='message' class='updated below-h2'><p>{$message}</p></div>";
}
Salin selepas log masuk
Kami perlu menambah fungsi cangkuk yang sepadan secara luaran untuk memaparkan pemberitahuan pengurusan kami: rrreee

4.
    Semakan kemas kini biasa
  1. Perpustakaan Toolkit sentiasa menyemak kemas kini tema menggunakan API Envato Marketplace. Ini tidak baik kerana melaksanakannya setiap kali pengguna melawat halaman pentadbir akan melambatkan masa muat halaman dengan ketara. Kami hanya perlu menyemak kemas kini dengan kerap.
  2. Menyemak setiap 3 jam kelihatan seperti idea yang bagus:
  3. rrreee

5.

Semak kemas kini

Akhir sekali, kami boleh menyemak kemas kini menggunakan perpustakaan ini:

rrreee

6.

Pemberitahuan kemas kini tema
Mulai saat ini, anda mempunyai pilihan untuk mengemas kini tema secara automatik menggunakan fungsi perpustakaan toolkit $upgrader->upgrade_theme();, namun, saya percaya ia adalah idea yang baik untuk memberikan pengguna pilihan. Cadangan saya ialah untuk hanya menunjukkan pemberitahuan untuk kemas kini tema dan membenarkan pengguna mengemas kini menggunakan pemalam Toolkit: rrreee 🎜Kita perlu memaparkan fungsi yang memaparkan pemberitahuan di luar fungsi semasa: 🎜 rrreee 🎜 🎜Mengapa menggunakan pemalam ini pada mulanya? 🎜 🎜Anda mungkin fikir tidak mengapa untuk 🎜hanya gunakan perpustakaan Toolkit tanpa pemalam Toolkit🎜, dan kemudian mungkin tunjukkan nama pengguna dan borang kunci API kami sendiri dalam pilihan tema.🎜 🎜Walaupun ini boleh dilakukan sepenuhnya, menggunakan pemalam ini memberi kita beberapa faedah: 🎜 🎜 🎜Dalam pengaktifan tema baharu, tema kami akan menyemak kemas kini secara automatik jika pemalam Toolkit telah dipasang sebelum ini. 🎜 🎜Kami tidak perlu menambah set borang tambahan untuk diisi oleh pengguna. 🎜 🎜Pengguna boleh mengemas kini pemalam Toolkit sendiri, jadi perubahan dalam API Marketplace boleh digunakan pada tika WordPress tanpa sebarang panduan tema. 🎜 🎜 🎜 🎜Kesimpulan🎜 🎜Itu sahaja! Kami telah menyepadukan pemalam dan perpustakaan Envato WordPress Toolkit untuk menyemak kemas kini tema. Kini, pelanggan kami akan menerima pemberitahuan pentadbir sebaik sahaja kemas kini tersedia di pasaran. Perkara terbaik yang kami lakukan ialah mereka boleh melakukan kemas kini dengan mudah tanpa meninggalkan pentadbir. 🎜 🎜Anda boleh meneruskan untuk memuat turun kod sumber penuh daripada pautan di atas artikel. Kod ini juga merangkumi topik yang diliputi dalam bahagian sebelumnya dalam tutorial ini. 🎜 🎜Memandangkan ini adalah siri tutorial pertama saya, saya amat menghargai sebarang maklum balas, komen dan cadangan. Beritahu saya apa yang anda fikirkan! 🎜 🎜🎜🎜🎜🎜

Atas ialah kandungan terperinci Tingkatkan tema anda dengan Envato WordPress Toolkit: Library. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan