metabolism/wp-steroids

使用YML配置超级驱动Wordpress,提高性能和安全

安装次数: 4,187

依赖项: 1

建议者: 0

安全: 0

星标: 16

关注者: 3

分支: 2

开放问题: 0

类型:wordpress-plugin

1.4.3 2024-09-26 10:19 UTC

README

Latest Stable Version Latest Unstable Version License Doc - Gitbook

通过以下方式超级驱动WordPress

  • 使用yml配置WordPress
  • 自定义文章类型和分类的永久链接配置
  • 维护模式
  • 开发模式下的备份下载
  • 构建钩子
  • 禁用自动更新
  • 增强安全性
  • 更好的GUID,使用符合RFC 4122的UUID版本5
  • 多站点图像同步(对于多站点多语言)
  • SVG支持
  • 更好的性能
  • WordPress错误修复
  • 分类的无线电类型
  • 多站点帖子深度复制(与多站点语言切换器插件一起使用)
  • 自定义数据表支持,具有管理中的查看和删除操作
  • Google翻译或DeepL集成
  • 优化

YML文件允许您配置

  • 图片选项
  • 维护支持
  • 删除管理页面
  • 所见即所得MCE编辑器
  • 功能支持
  • 多站点配置
  • ACF配置
  • 菜单
  • 自定义文章类型
  • 自定义分类
  • 页面、文章和分类模板
  • 页面状态
  • 文章格式
  • 外部表格查看器
  • 高级角色

文档

文档可在Gitbook上找到

演示

使用WP Steroids安装Bedrock: https://github.com/metabolism/wp-steroids-demo

YML示例

##########################################################################
##                                                                      ##
##                    WordPress configuration file                      ##
##                                                                      ##
##########################################################################

wordpress:

  #####################
  ##    Gutenberg    ##
  #####################

  gutenberg:
    replace_reset_styles: true
    remove_core_block: true
    disable_classic_theme_styles: true
    remove_block_library: true
    load_remote_block_patterns: false
    #block_editor_style: '/build/bundle.css'
    #block_editor_script: '/blocks.js'
    render_template: 'block/{name}.twig'
    preview_image: '/app/blocks/{name}.png'


  #########################
  ##    Image options    ##
  #########################

  image:
    compression: 95 #on the fly compression ratio
    resize: #resize image on upload to save server space
      max_width: 1920
      max_height: 2160

  ###########################
  ##    Admin interface    ##
  ###########################

  ## Enable maintenance mode support
  maintenance: true

  ## Hide pages from menu
  remove_menu_page:
    - edit-comments.php #Comments
  #  - index.php #Dashboard
  #  - jetpack #Jetpack
  #  - upload.php #Media
  #  - themes.php #Appearance
  #  - plugins.php #Plugins
  #  - users.php #Users
  #  - tools.php #Tools
  #  - options-general.php #Settings

  ## Hide page from submenu
  remove_submenu_page:
    - themes.php: site-editor.php?path=/patterns
  #  - themes.php: nav-menus.php

  ## Customize WYSIWYG Editor TinyMCE Buttons
  ##https://www.tiny.cloud/docs/advanced/editor-control-identifiers/
  mce_buttons:
    - formatselect
    - bold
    - italic
    - underline
    - sup
    - strikethrough
    - superscript
    - subscript
    - bullist
    - numlist
    - blockquote
    - hr
    - table
    - alignleft
    - aligncenter
    - alignright
    - alignjustify
    - link
    - unlink
    - wp_more
    - spellchecker
    - wp_adv
    - dfw

  #editor_style: backoffice.css

  ##################
  ##    System    ##
  ##################

  ## Add blog support
  support:
    - page #enable page
    - post #enable post
    - tag #enable tag taxonomy for post
    - category #enable category taxonomy for post

  ## Add post type support
  ## https://developer.wordpress.org/reference/functions/post_type_supports/
  post_type_support:
    page:
      - excerpt #add excerpt to page

  ## Add theme support
  ## https://developer.wordpress.org/reference/functions/add_theme_support/
  theme_support:
    - disable-layout-styles
    - thumbnail #add thumbnails to post
    #- post-formats:
    #  - video
    #  - gallery

  ## Use WordPress as a headless cms
  #headless:
  #  mapping: true

  ## Multisite configuration
  # multisite:
  #  shared_media: true
  #  clone_post: true

  ## Declare constant
  #define:
  #  disallow_file_edit: false

  #########################
  ##    Carbon fields    ##
  #########################
  carbon_fields:
    shared_fields:
      display:
        type: select
        options:
          default: Default
          theme: Theme
          theme-alt: Theme alt

  ###############
  ##    ACF    ##
  ###############

  acf:
    json_path: '/config/acf'
    settings:
      use_entity: true #add new optimised return format
      autoload: true #autoload options
    user_settings:
      gallery_height: 210
    block:
      api_version: 3
    input:
      lock_max_length: false
    toolbars: #customize wysiwyg toolbar
      Full:
        1:
          - formatselect
          - bold
          - italic
          - blockquote
          - superscript
          - subscript
          - bullist
          - numlist
          - table
          - alignjustify
          - pastetext
          - removeformat
          - link
          - wp_adv
          - fullscreen
        2:
          - undo
          - redo
          - hr
          - underline
          - strikethrough
          - forecolor
          - removeformat
          - charmap
          - outdent
          - indent
      Basic:
        1:
          - bold
          - italic
          - blockquote
          - superscript
          - subscript
          - forecolor
          - bullist
          - numlist
          - table
          - link
          - alignjustify
          - pastetext
          - removeformat
          - fullscreen


  ########################
  ##    Options page    ##
  ########################
  options_page:
    - 'Global'
    - 'Translations'
    # or
    #global:
    #  title: Global
    #  fields:
    #    blog:
    #      type: separator
    #    blog_search:
    #      type: checkbox

  ################
  ##    Menu    ##
  ################

  menu:
    depth: 1
    register:
      footer: Footer
      header: Header


  ###################
  ##    Sidebar    ##
  ###################

  sidebar: # https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
    footer:
      name : Footer
      description : 'Add widgets here to appear in your footer.'
      before_widget : '<section id="%1$s" class="widget %2$s">'
      after_widget : '</section>'
      before_title : '<h2 class="widget-title">'
      after_title : '</h2>'


  ##########################
  ##       New block      ##
  ##########################

  block:
    title-text:
      title: Title with text
      description: Title with text
      supports:
        align_text: 'left'
        #multiple: false
      icon: 'editor-alignleft'
      post_types:
        - page
        - guide
      #fields:
      #  title:
      #    type: text
      #  background:
      #    type: select
      #    options:
      #      grey: Grey
      #      white: White


  ##########################
  ##    New post types    ##
  ##########################

  post_type: # https://developer.wordpress.org/reference/functions/register_post_type/
    guide:
      menu_icon: book #https://developer.wordpress.org/resource/dashicons/
      has_archive: true
      #enable_for_blogs:
      #  - 1
      #disable_for_blogs:
      #  - 2#
      #has_options: true #add acf page option to post type menu
      #capability_type: post
      #publicly_queryable: false
      ## options for archive page
      #posts_per_page: 11
      #orderby: name #https://developer.wordpress.org/reference/classes/wp_query/#order-orderby-parameters or last_word
      #order: ASC
      show_in_rest: true
      #template:
      #  - - acf/title-text
      #    - lock:
      #        move: true
      #        remove: true
      supports:
        - title
        - excerpt
        - thumbnail
        - editor
        - revisions
        #- sticky
        #- author
        #- excerpt
        #- trackbacks
        #- custom-fields
        #- comments
        #- page-attributes
        #- post-formats
      #columns: #add new column to post listing, thumbnail|meta
       # - thumbnail
      #taxonomies:
       # - category
      #labels:
      #  name:           'Guides'
      #  singular_name:  'Guide'
      #  all_items:      'Tous les guides'
      #  edit_item:      'Editer le guide'
      #  view_item:      'Voir le guide'
      #  update_item:    'Mettre à jour le guide'
      #  add_new_item:   'Ajouter un guide'
      #  new_item_name:  'Nouveau guide'
      #  search_items:   'Rechercher un guide'
      #  popular_items:  'Guides populaires'
      #  not_found:      'Aucun guide trouvé'


  ##########################
  ##    New taxonomies    ##
  ##########################

  taxonomy: # https://developer.wordpress.org/reference/functions/register_taxonomy/
    item:
      ## options for archive page
      #posts_per_page: 11
      #orderby: name #https://developer.wordpress.org/reference/classes/wp_term_query/__construct/
      #order: ASC
      #radio: true #display terms selection as radio instead of checkbox
      #publicly_queryable: false
      show_in_rest: true
      #capability_type: true
      object_type:
        - guide
      #capabilities:
      #  manage_terms: 'do_not_allow'
      #  edit_terms: 'do_not_allow'
      #  delete_terms: 'do_not_allow'
      #  assign_terms: 'edit_posts'
      #labels:
      #  name:           'Catégories'
      #  singular_name:  'Catégorie'
      #  all_items:      'Toutes les catégories'
      #  edit_item:      'Editer la catégorie'
      #  view_item:      'Voir la catégorie'
      #  update_item:    'Mettre à jour la catégorie'
      #  add_new_item:   'Ajouter une catégorie'
      #  new_item_name:  'Nouvelle catégorie'
      #  search_items:   'Rechercher une catégorie'
      #  popular_items:  'Catégories populaires'
      #  not_found:      'Aucune catégorie trouvée'


  ####################################
  ##    Templates/States/Formats    ##
  ####################################

  ## Add post and taxonomy templates
  #template:
  #  page:
  #    coming_soon: 'Coming Soon'
  #    not_found: '404'
  #  post:
  #    video: 'Video'
  #  taxonomy:
  #    item:
  #      edito: 'Edito'
  #      podcast: 'Podcast'
  #      reportage: 'Reportage'
  #      video: 'Video'

  ## Add page states like "homepage"
  #page_states:
    #archive_guide: 'Guide archive'

  #################################
  ##    Database table viewer    ##
  #################################

  #table:
  #  newsletter:
  #    page_title: Newsletter
  #    menu_title: Newsletter
  #    column_title: id
  #    export: false
  #    columns:
  #      name: Name
  #      email: Email
  #      company: Company
  #      type: Type
  #  contact:
  #    page_title: Contact
  #    menu_title: Contact
  #    column_title: id
  #    columns:
  #      name: Name
  #      email: Email
  #      company: Company
  #      request: Request

  #############################################
  ##               Add Roles                 ##
  ##                                         ##
  ##    To reload role please go to          ##
  ##    /wp-admin/index.php?reload_role=1    ##
  ##                                         ##
  #############################################
  #role:
  #  translator:
  #    display_name: Translator
  #    redirect_to: edit.php?post_type=guide
  #    #inherit: editor
  #    capabilities:
  #      read: true
  #      publish: false
  #      manage_items: true
  #      edit_items: true
  #
  #      edit_blocks: false
  #
  #      manage_categories: true
  #      edit_category: true
  #      delete_category: false
  #      assign_category: false
  #
  #      edit_others_pages: true
  #      read_page: true
  #      edit_pages: true
  #      publish_pages: false
  #      edit_published_pages: true
  #
  #      edit_others_posts: true
  #      read_post: true
  #      edit_posts: true
  #      publish_posts: false
  #      edit_published_posts: true
  #
  #      acf_edit_taxonomy: false
  #      acf_edit_layout: false
  #      acf_edit_relationship: false
  #      acf_edit_repeater: false
  #      acf_edit_true-false: false
  #      acf_edit_radio: false
  #      acf_edit_select: false
  #      acf_edit_image: false
  #      acf_edit_file: false
  #      acf_edit_link: false
  #      acf_edit_post-object: false


  ############################
  ##    Plugins specific    ##
  ############################

  #plugins:
  #  redirection:
  #    redirection_role: edit_others_posts

  #########################
  ##    Optimisations    ##
  #########################

  rewrite_rules:
    remove:
      - author
      - attachment
      - embed
      - trackback
      - comment
  #    - feed

  ####################
  ##    Security    ##
  ####################

  security:
    rest_api: false
    xmlrpc: false
    pings: false
    disable_update: true
    unfiltered_html: false

  ##################
  ##    Search    ##
  ##################

  #search: # change search settings
  # use_metafields: false
  # posts_per_page: 12

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件