這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

Advanced Custom Fields: Archive Templates

描述

ACF Archives is a little plugin for helping you attach ACF fields to the archive template.
The plugin will add a submenu for each public custom post type with archive defined
and then you can select under ACF rules box.

Want to add or remove the submenu for other custom post types?

Here is a code example you can add to to your theme functions.php

    add_filter( 'acf_archive_post_types', 'change_acf_archive_cpt' );
    function change_acf_archive_cpt( $cpts ) {
        // 'book' and 'movie' are the cpt key.

        // Remove cpt
        unset( $cpts['book'] );

        // Add cpt
        $cpts['movie'] = Movies Archive;

        return $cpts;
    }

Get the acf field on archive page

    $object = get_queried_object();
    $field = get_field( 'field_name', $object->name );

    var_dump( $field );

From within WordPress

  1. Visit ‘Plugins > Add New’
  2. Search for ‘acf archive’
  3. Activate ACF Archive from your Plugins page.

Manually

  1. Upload the acf-archive folder to the /wp-content/plugins/ directory
  2. Activate the ACF Archive plugin through the ‘Plugins’ menu in WordPress

螢幕截圖

  • New Archive ACF rule under ACF rules
  • ACF Archive menu page under each custom post type with archive enabled.

評價

2020年3月28日
Thank you for your contribution, but in order to expand the correct menu item, I had to make some edits to your plugin: /** * Load the ACF Assets only on archive options page * @param string $hook_suffix * @return void */ public function admin_enqueue_scripts( $hook_suffix ) { $screen = get_current_screen(); if ( strpos($_GET['page'], 'archive-options') !== FALSE ) { acf_enqueue_scripts(); } } /** * Add ACF menu page for each custom post type * * @param string $label * @param string $menu */ private function add_menu( $label, $menu, $post_type ) { $page_name = sprintf( __( '%s Archive', 'acf-archive' ), $label); $options = [ 'parent_slug' => $menu, 'page_title' => $page_name, 'menu_title' => $page_name, 'capability' => 'edit_posts', 'menu_slug' => 'archive-options-'.$post_type, ]; add_submenu_page( $options['parent_slug'], $options['page_title'], $options['menu_title'], $options['capability'], $options['menu_slug'], [ $this, 'render_menu' ] ); } /** * Check if we are in the current post type for showing the fields. * * @param $match * @param $rule * @param $options * @return bool */ public function location_rules_match_archive( $match, $rule, $options ) { if ( ! isset( $_GET['post_type'] ) || ! isset( $_GET['page'] ) ) { return $match; } return $_GET['post_type'] == $rule['value'] && strpos($_GET['page'], 'archive-options') !== FALSE; }
閱讀全部1個評價

貢獻者及開發者

“Advanced Custom Fields: Archive Templates” 是一個開源的軟體。以下的人對這個外掛作出了貢獻。

貢獻者

修改日誌

1.0.6

Just update some info

1.0.4

Fixed: Rule match bug

1.0.3

Compatibility when ACF is loaded on the theme

1.0.2

Code refactor and better compatibility

1.1

Minor fix for CPT UI

1.0

Initial Release