PHP code example of bernskioldmedia / wp-theme-base
1. Go to this page and download the library: Download bernskioldmedia/wp-theme-base library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
/**
* Support WooCommerce
*/
public static bool $supports_woocommece = true;
/**
* Include automatic feed links
*/
public static bool $supports_feeds = true;
/**
* Disable post thumbnail support.
*/
public static array $supports_thumbnails = [];
/**
* Add thumbnail support for specified post types.
*/
public static array $supports_thumbnails = [
'post',
'page'
];
/**
* Allow thumbnail support for all post types.
*/
public static array $supports_thumbnails = ['*'];
/**
* Add support for a custom logo.
*/
public static array $custom_logo = [
'width' => 400,
'height' => 50,
'flex-height' => true,
'flex-width' => true,
];
/**
* Add support for post formats.
*
* @link https://developer.wordpress.org/themes/functionality/post-formats/
*
* @var array
*/
public static array $post_formats = [
'aside',
'status',
];
namespace Theme\Facets;
use BernskioldMedia\WP\ThemeBase\FacetWp\Facet;
class Category extends Facet {
protected static function get_data(): array {
return [
// Facet details.
];
}
}
use Theme\Facets\Category;
/**
* Include a list of facets in this plugin (For Facet WP) to
* load them with the theme.
*/
public static array $facets = [
Category::class,
];
namespace Theme\Customizer;
use BernskioldMedia\WP\ThemeBase\Customizer\Customizer_Settings;
class My_Section extends Customizer_Settings {
/**
* The prefix that we prefix all settings and sections with.
*/
protected static string $settings_prefix = 'my-theme';
/**
* Extend this method where you'll add the
* sections, settings and controls.
*/
protected function setup(): void {
//
}
}
use Theme\Customizer\My_Section;
/**
* Include a list of customizer section classes to
* load them with the theme.
*/
public static array $customizer_sections = [
My_Section::class,
];
namespace Theme\Field_Groups;
use BernskioldMedia\WP\ThemeBase\Acf\Field_Group;
class My_Group extends Field_Group {
protected static function get_data(): array {
return [
// array from the acf_add_local_field_group() function in the export code.
];
}
}
use Theme\Field_Groups\My_Group;
/**
* Include a list of ACF Field Group classes to
* load them with the theme.
*/
public static array $field_groups = [
My_Group::class,
];
/**
* Get the navigation menus locations to register on the site.
* Leave empty not to register any.
*
* Takes a key => value format of: location-key => Human Label
*/
protected static function get_menu_locations(): array {
return [
'primary-menu' => __( 'Primary Menu', 'TEXTDOMAIN' ),
];
}
use \BernskioldMedia\WP\ThemeBase;
class MyTheme extends Base_Theme {
use Login\Has_Custom_Login;
//...
}
use \BernskioldMedia\WP\ThemeBase;
class MyTheme extends Base_Theme {
use Login\Has_Custom_Login;
protected static bool $disable_custom_login_logo = true;
// ... my code
}
use BernskioldMedia\WP\ThemeBase\Assets\Style;
use BernskioldMedia\WP\ThemeBase\Assets\Script;
public static function public(): array {
return [
Style::make('theme-screen')->file('screen.css'),
Script::make('theme-scripts')->file('theme.js'),
// ...
];
}
use BernskioldMedia\WP\ThemeBase\Assets\Style;
public static function public(): array {
return [
Style::make('post-template')
->file('templates/post.css')
->if(function() {
return in_post_type_archive('post');
}),
// ...
];
}
use BernskioldMedia\WP\ThemeBase\Assets\Script;
public static function public(): array {
return [
Script::make('alpinejs')
->file('vendor/alpinejs.js')
->version('3.7.1')
->dependencies(['theme-scripts']),
// ...
];
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.