在本系列的前一部分中,我們了解如何將WordPress 安裝與外掛程式和主題捆綁在一起,以及如何調整wp-config-sample.php
文件。
當然,捆綁主題和插件並不是一個令人驚奇的想法,但您必須承認編輯wp-config-sample.php
以使用自訂wp-config.php
調整來安裝WordPress 有點酷。另外,這兩個技巧與我們將在本教程中看到的神奇技巧結合使用,並完成一種非常有用的方法,為您的未來專案使用開箱即用的 WordPress 安裝。
在這一部分中,我們將發現一個令人興奮的發現,即在安裝 WordPress 時啟動捆綁的主題和外掛程式。您將首先在 Tuts+ 上看到這一點,因為直到今天它才在互聯網上的任何地方公開。
興奮起來。
我見過的最方便的 WordPress 常數之一:WP_DEFAULT_THEME
#
大約一年前,我在Tuts+ 上分享了一個關於使用wp-config-sample.php
檔案來自訂產生的wp-config.php
檔案之前的一個小發現安裝WordPress。這是一個名為 WP_DEFAULT_THEME
的已知 wp-config.php
常數的範例 - 如果您有興趣,可以在此處閱讀這篇文章。
如果你從預設的WordPress套件中刪除了所有預設的「Twenty-Something」主題,WordPress在安裝後會給你一個錯誤而不是前端,因為每個WordPress版本都帶有一個「預設主題」並且它如果預設主題不存在,則不會在wp-content/themes
資料夾中尋找另一個主題。
這就是為什麼在寫完那篇文章後,我認為我可以在另一個教學課程中使用這個調整,稱為「建立開箱即用的 WordPress 套件」。我只是記下了標題,並不想創建大綱,並將註釋留在我的電腦中幾乎一年。 (談論拖延......我應該寫一篇關於它的文章。我應該記下來。)
十多個月後,我決定建立一個大綱並提交到 Tuts+ Code 的專案管理系統,並得到我們的編輯 Tom McFarlin 的批准。當他批准了大綱並且我開始編寫我最初想到的單部分教程時,我開始考慮 WP_DEFAULT_THEME
。
雖然花了兩天時間思考WordPress 常數有點不尋常,但我最終想到可以使用這個常數以及在安裝WordPress 之前編輯wp-config-sample.php
的技巧來執行一些操作我通常使用「入門外掛」執行的任務(例如刪除預設貼文和頁面、更改永久連結結構和停用評論)。然後我意識到我可以啟動一些預先與軟體包捆綁在一起的插件。然後我意識到我可以在完成這種主題後將主題切換到真實主題。
然後我突然想到:所有這一切意味著我實際上可以在安裝 WordPress 時自動啟動預先捆綁的外掛程式和主題!您可能可以從您現在閱讀的文字中感受到我的興奮 - 想像一下當我做出這一發現時我的感受。
這是一個解決方法嗎?絕對地。您甚至可以將其稱為 WordPress「駭客」。但它不會編輯任何核心檔案(除了wp-config-sample.php
,我們可以編輯它),除了「功能代碼是外掛領域」之外,它不違反任何WordPress 約定,但我相信使用一個在一秒鐘內自行停用的「一次性主題」並不是「不合規矩」。最後,它不會破壞任何檔案或規則,而且它是開箱即用的 WordPress 安裝的完全安全的解決方案。
製作「熱身樂團」主題
現在我們已經了解了要做的事情的邏輯,是時候創建一次性「熱身帶」主題了。
在此主題中,只有兩個文件:強制的 style.css
和 functions.php
文件,該文件將運行我們的四部分程式碼:
- 更改預設選項
- 刪除預設內容
- 啟動我們預先捆綁的外掛程式
- 切換到「Headliner」主題
我把 style.css
檔案內容放在下面供您複製:
/* Theme Name: Warm-Up Band Author: Baris Unver from Tuts+ Code Description: Disposable theme to run some errands. Version: 0 */
更改預設選項
WordPress 不允許您更改預設選項,因為如果您這樣做的話,安裝時間會更長。但這並不意味著您不能以程式設計方式更改它們。透過一些核心功能,可以輕鬆根據您的需求自訂選項:
<?php // set the options to change $option = array( // we don't want no description 'blogdescription' => '', // change category base 'category_base' => '/cat', // change tag base 'tag_base' => '/label', // disable comments 'default_comment_status' => 'closed', // disable trackbacks 'use_trackback' => '', // disable pingbacks 'default_ping_status' => 'closed', // disable pinging 'default_pingback_flag' => '', // change the permalink structure 'permalink_structure' => '/%postname%/', // dont use year/month folders for uploads 'uploads_use_yearmonth_folders' => '', // don't use those ugly smilies 'use_smilies' => '' ); // change the options! foreach ( $option as $key => $value ) { update_option( $key, $value ); } // flush rewrite rules because we changed the permalink structure global $wp_rewrite; $wp_rewrite->flush_rules(); ?>
如您所見,我們:
- 首先创建一个选项及其值的关联数组
- 在
foreach
循环中运行数组,以便对每个数组项使用update_option()
函数 - 刷新了重写规则,因为我们更改了永久链接结构
您可以使用很多很多默认选项 - 在 wp-admin/includes/schema.php
文件中查看它们。
删除默认内容
现在我们已经更改了一些默认选项,是时候删除我们总是手动删除的不需要的内容了。这个更容易:
<?php // delete the default comment, post and page wp_delete_comment( 1 ); wp_delete_post( 1, TRUE ); wp_delete_post( 2, TRUE ); ?>
激活捆绑插件
还记得我们在上一部分中决定将我们的包与三个流行的插件捆绑在一起吗?我们选择了 WP Super Cache、Yoast 的 WordPress SEO 和 Contact Form 7。现在让我们激活它们:
<?php // we need to include the file below because the activate_plugin() function isn't normally defined in the front-end include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); // activate pre-bundled plugins activate_plugin( 'wp-super-cache/wp-cache.php' ); activate_plugin( 'wordpress-seo/wp-seo.php' ); activate_plugin( 'contact-form-7/wp-contact-form-7.php' ); ?>
我们还可以停用默认的 Akismet 和 Hello Dolly 插件,但我相信您已经像我一样从包中删除了它们。
切换到“头条新闻”主题
一切都已设置,现在我们可以切换到我们要使用的实际主题!这是最简单的部分,因为我们将运行 switch_theme()
函数,并将主题的文件夹名称作为参数:
<?php // switch the theme to "Headliner" switch_theme( 'headliner' ); ?>
简单易行!
完整的 functions.php
文件
<?php // set the options to change $option = array( // we don't want no description 'blogdescription' => '', // change category base 'category_base' => '/cat', // change tag base 'tag_base' => '/label', // disable comments 'default_comment_status' => 'closed', // disable trackbacks 'use_trackback' => '', // disable pingbacks 'default_ping_status' => 'closed', // disable pinging 'default_pingback_flag' => '', // change the permalink structure 'permalink_structure' => '/%postname%/', // dont use year/month folders for uploads 'uploads_use_yearmonth_folders' => '', // don't use those ugly smilies 'use_smilies' => '' ); // change the options! foreach ( $option as $key => $value ) { update_option( $key, $value ); } // flush rewrite rules because we changed the permalink structure global $wp_rewrite; $wp_rewrite->flush_rules(); // delete the default comment, post and page wp_delete_comment( 1 ); wp_delete_post( 1, TRUE ); wp_delete_post( 2, TRUE ); // we need to include the file below because the activate_plugin() function isn't normally defined in the front-end include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); // activate pre-bundled plugins activate_plugin( 'wp-super-cache/wp-cache.php' ); activate_plugin( 'wordpress-seo/wp-seo.php' ); activate_plugin( 'contact-form-7/wp-contact-form-7.php' ); // switch the theme to "Headliner" switch_theme( 'headliner' ); ?>
结束
虽然 WordPress 以其“五分钟安装过程”而闻名,但我相信,如果您知道自己在做什么,还可以节省几分钟。通过我们在本系列中介绍的内容,您可能会在 WordPress 安装过程之前和过程中获得更多时间。
您对创建自动化 WordPress 安装有何看法?您认为该系列还有更多改进的空间吗?请在下面的评论部分写下您的想法,告诉我们您的想法。如果您喜欢该系列,请不要忘记分享这两个部分!
以上是在 WordPress 安裝期間啟用外掛和主題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。

PHP会话对应用性能有显著影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具