Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
c26c1e3
Delete assets/img/church-fse-1.webp
JohnPixle Jul 29, 2025
888c5f2
Delete assets/img/church-fse-2.webp
JohnPixle Jul 29, 2025
efe5173
Delete assets/img/church-fse-3.webp
JohnPixle Jul 29, 2025
7e7f5a6
Delete assets/img/church-fse-4.webp
JohnPixle Jul 29, 2025
540eaed
Delete assets/img/church-fse-5.webp
JohnPixle Jul 29, 2025
b566089
Delete assets/img/church-fse-6.webp
JohnPixle Jul 29, 2025
72170de
Delete assets/img/church-fse-7.webp
JohnPixle Jul 29, 2025
c12fe4e
Delete assets/img/church-fse-logo.webp
JohnPixle Jul 29, 2025
3860cdb
Delete old images and upload new
JohnPixle Jul 29, 2025
48b18c0
Update theme.json
JohnPixle Jul 29, 2025
67c87f2
Update 404.html
JohnPixle Aug 4, 2025
00b7ae1
Update archive.html
JohnPixle Aug 4, 2025
5a2b1fb
Update index.html
JohnPixle Aug 4, 2025
eba54a9
Update page.html
JohnPixle Aug 4, 2025
a6ea24c
Update search.html
JohnPixle Aug 4, 2025
89affbe
Update single.html
JohnPixle Aug 4, 2025
d391b32
Update template-plain.html
JohnPixle Aug 4, 2025
7de1cfe
Update front-page.html
JohnPixle Aug 4, 2025
b230437
Delete parts/header_s3.html
JohnPixle Aug 4, 2025
db92751
Delete parts/footer_s3.html
JohnPixle Aug 4, 2025
7d3d3a1
Delete parts/footer_s4.html
JohnPixle Aug 4, 2025
9eaf48a
Delete parts/header_s2.html
JohnPixle Aug 4, 2025
253a21c
Update header.html
JohnPixle Aug 4, 2025
bf85112
Update header_s1.html
JohnPixle Aug 4, 2025
6f5fd52
Update footer.html
JohnPixle Aug 4, 2025
0fc0d87
Update footer_s1.html
JohnPixle Aug 4, 2025
5b1f19b
Update footer_s2.html
JohnPixle Aug 4, 2025
beb2385
Update theme.json
JohnPixle Aug 4, 2025
fb9a61c
Update 404.html
JohnPixle Aug 4, 2025
71c7b0a
Update and rename violet.json to petrol-sky.json
JohnPixle Aug 4, 2025
75b43a6
Update and rename charcoal.json to black-berry.json
JohnPixle Aug 4, 2025
3853336
Update and rename forest.json to purple-rain.json
JohnPixle Aug 4, 2025
4af60a7
chore: replace patterns
HardeepAsrani Aug 5, 2025
77d61d8
fix: replaced patterns
HardeepAsrani Aug 5, 2025
cdc34a1
feat: add all the patterns
HardeepAsrani Aug 5, 2025
e9379d2
chore: phpcs
HardeepAsrani Aug 5, 2025
5e3bd8b
Update front-page.html
JohnPixle Aug 6, 2025
90de89d
Replace theme screenshot
JohnPixle Aug 6, 2025
1d63515
chore: fix translaction error
HardeepAsrani Aug 7, 2025
30a0710
fix: remove redundant code
HardeepAsrani Aug 7, 2025
88ce0ab
fix: remove redundant code
HardeepAsrani Aug 7, 2025
519e852
fix: remove redundant code
HardeepAsrani Aug 7, 2025
a6736f2
Merge pull request #7 from Codeinwp/Theme-changes
HardeepAsrani Aug 21, 2025
4681cfd
fix: menu and single page issues
HardeepAsrani Aug 21, 2025
6739f71
chore: update banner
HardeepAsrani Aug 25, 2025
e46a0ea
chore: update version
HardeepAsrani Aug 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions assets/css/src/welcome-notice.scss
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
}


.wpfp-preview {
.masteriyo-preview {
max-height: 300px;
width: auto;
justify-self: center;
Expand All @@ -125,7 +125,7 @@
}
}

.wpfp-logo {
.masteriyo-logo {
bottom: 30px;
right: 30px;
opacity: 0.75;
Expand Down
Binary file removed assets/img/church-fse-1.webp
Binary file not shown.
Binary file removed assets/img/church-fse-2.webp
Binary file not shown.
Binary file removed assets/img/church-fse-3.webp
Binary file not shown.
Binary file removed assets/img/church-fse-4.webp
Binary file not shown.
Binary file removed assets/img/church-fse-5.webp
Binary file not shown.
Binary file removed assets/img/church-fse-6.webp
Binary file not shown.
Binary file removed assets/img/church-fse-7.webp
Binary file not shown.
Binary file removed assets/img/church-fse-logo.webp
Binary file not shown.
Binary file added assets/img/logo.webp
Binary file not shown.
Binary file added assets/img/testimonial-1.webp
Binary file not shown.
Binary file added assets/img/testimonial-2.webp
Binary file not shown.
Binary file added assets/img/testimonial-3.webp
Binary file not shown.
Binary file added assets/img/testimonial-4.webp
Binary file not shown.
Binary file added assets/img/theme-icon-01.webp
Binary file not shown.
Binary file added assets/img/theme-icon-02.webp
Binary file not shown.
Binary file added assets/img/theme-icon-03.webp
Binary file not shown.
Binary file added assets/img/theme-icon-04.webp
Binary file not shown.
Binary file added assets/img/theme-icon-05.webp
Binary file not shown.
Binary file added assets/img/theme-icon-06.webp
Binary file not shown.
Binary file added assets/img/theme-img-01.webp
Binary file not shown.
Binary file added assets/img/theme-img-010.webp
Binary file not shown.
Binary file added assets/img/theme-img-02.webp
Binary file not shown.
Binary file added assets/img/theme-img-03.webp
Binary file not shown.
Binary file added assets/img/theme-img-04.webp
Binary file not shown.
Binary file added assets/img/theme-img-05.webp
Binary file not shown.
Binary file added assets/img/theme-img-06.webp
Binary file not shown.
Binary file added assets/img/theme-img-07.webp
Binary file not shown.
Binary file added assets/img/theme-img-08.webp
Binary file not shown.
Binary file added assets/img/theme-img-09.webp
Binary file not shown.
Binary file removed assets/img/welcome-notice.png
Binary file not shown.
Binary file added assets/img/welcome-notice.webp
Binary file not shown.
22 changes: 11 additions & 11 deletions assets/js/src/welcome-notice.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ function handleWelcomeNotice( $ ) {
redirectUrl,
ajaxUrl,
nonce,
wpfpRefNonce,
wpfpStatus,
masteriyoRefNonce,
masteriyoStatus,
} = lmscourseFSEData;

const installBtn = $(
'.lmscourse-fse-welcome-notice #lmscourse-fse-install-wpfp'
'.lmscourse-fse-welcome-notice #lmscourse-fse-install-masteriyo'
);
const dismissBtn = $( '.lmscourse-fse-welcome-notice .notice-dismiss' );
const notice = $( '.lmscourse-fse-welcome-notice' );
Expand All @@ -31,13 +31,13 @@ function handleWelcomeNotice( $ ) {
} );
};

const activateWpfp = async () => {
const activateMasteriyo = async () => {
installText.text( activating );
await activatePlugin( activationUrl );

await $.post( ajaxUrl, {
nonce: wpfpRefNonce,
action: 'lmscourse_fse_set_wpfp_ref',
nonce: masteriyoRefNonce,
action: 'lmscourse_fse_set_masteriyo_ref',
} );

installSpinner.removeClass( 'dashicons-update' );
Expand All @@ -51,18 +51,18 @@ function handleWelcomeNotice( $ ) {
installSpinner.removeClass( 'hidden' );
installBtn.attr( 'disabled', true );

if ( wpfpStatus === 'active' ) {
if ( masteriyoStatus === 'active' ) {
return;
}

if ( wpfpStatus === 'installed' ) {
await activateWpfp();
if ( masteriyoStatus === 'installed' ) {
await activateMasteriyo();
return;
}

installText.text( installing );
await installPlugin( 'wp-full-stripe-free' );
await activateWpfp();
await installPlugin( 'learning-management-system' );
await activateMasteriyo();
} );

$( dismissBtn ).on( 'click', () => {
Expand Down
2 changes: 1 addition & 1 deletion functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ function check_php() {
* @return void
*/
function define_constants() {
define( 'LMSCOURSE_FSE_VERSION', '0.1' );
define( 'LMSCOURSE_FSE_VERSION', '0.0.1' );
define( 'LMSCOURSE_FSE_DEBUG', defined( 'WP_DEBUG' ) && WP_DEBUG === true );
define( 'LMSCOURSE_FSE_DIR', trailingslashit( get_template_directory() ) );
define( 'LMSCOURSE_FSE_URL', trailingslashit( get_template_directory_uri() ) );
Expand Down
119 changes: 46 additions & 73 deletions inc/Admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
class Admin {

/**
* WP Full Pay reference key.
* Masteriyo LMS reference key.
*
* @var string
*/
const WPFP_REF = 'wpfp_reference_key';
const MASTERIYO_REF = 'masteriyo_reference_key';

/**
* Admin constructor.
Expand Down Expand Up @@ -51,12 +51,11 @@ private function add_install_time() {
*/
public function setup_admin_hooks() {
add_action( 'admin_notices', array( $this, 'render_welcome_notice' ), 0 );
add_action( 'activated_plugin', array( $this, 'after_wpfs_activation' ) );
add_action( 'activated_plugin', array( $this, 'after_masteriyo_activation' ) );
add_action( 'wp_ajax_lmscourse_fse_dismiss_welcome_notice', array( $this, 'remove_welcome_notice' ) );
add_action( 'wp_ajax_lmscourse_fse_set_wpfp_ref', array( $this, 'set_wpfp_ref' ) );
add_action( 'wp_ajax_lmscourse_fse_set_masteriyo_ref', array( $this, 'set_masteriyo_ref' ) );

add_action( 'admin_enqueue_scripts', array( $this, 'register_internal_page' ) );
add_filter( 'themeisle_sdk_blackfriday_data', array( $this, 'add_black_friday_data' ) );
}

/**
Expand All @@ -69,7 +68,7 @@ public function render_welcome_notice() {
return;
}

$wpfp_status = $this->get_wpfp_status();
$masteriyo_status = $this->get_masteriyo_status();

Assets_Manager::enqueue_style( Assets_Manager::ASSETS_SLUGS['welcome-notice'], 'welcome-notice' );
Assets_Manager::enqueue_script(
Expand All @@ -78,26 +77,26 @@ public function render_welcome_notice() {
true,
array(),
array(
'nonce' => wp_create_nonce( 'lmscourse-fse-dismiss-welcome-notice' ),
'wpfpRefNonce' => wp_create_nonce( 'lmscourse-fse-set-wpfp-ref' ),
'ajaxUrl' => esc_url( admin_url( 'admin-ajax.php' ) ),
'wpfpStatus' => $wpfp_status,
'activationUrl' => esc_url(
'nonce' => wp_create_nonce( 'lmscourse-fse-dismiss-welcome-notice' ),
'masteriyoRefNonce' => wp_create_nonce( 'lmscourse-fse-set-masteriyo-ref' ),
'ajaxUrl' => esc_url( admin_url( 'admin-ajax.php' ) ),
'masteriyoStatus' => $masteriyo_status,
'activationUrl' => esc_url(
add_query_arg(
array(
'plugin_status' => 'all',
'paged' => '1',
'action' => 'activate',
'plugin' => rawurlencode( 'wp-full-stripe-free/wp-full-stripe.php' ),
'_wpnonce' => wp_create_nonce( 'activate-plugin_wp-full-stripe-free/wp-full-stripe.php' ),
'plugin' => rawurlencode( 'learning-management-system/lms.php' ),
'_wpnonce' => wp_create_nonce( 'activate-plugin_learning-management-system/lms.php' ),
),
admin_url( 'plugins.php' )
)
),
'redirectUrl' => esc_url( admin_url( 'admin.php?page=wpfs-settings-stripe&onboarding=true' ) ),
'activating' => __( 'Activating', 'lmscourse-fse' ) . '…',
'installing' => __( 'Installing', 'lmscourse-fse' ) . '…',
'done' => __( 'Done', 'lmscourse-fse' ),
'redirectUrl' => esc_url( admin_url( 'admin.php?page=masteriyo-onboard' ) ),
'activating' => __( 'Activating', 'lmscourse-fse' ) . '…',
'installing' => __( 'Installing', 'lmscourse-fse' ) . '…',
'done' => __( 'Done', 'lmscourse-fse' ),
)
);

Expand All @@ -108,36 +107,37 @@ public function render_welcome_notice() {
$notice_html .= '<div class="notice-copy">';

$notice_html .= '<h2 class="notice-subtitle">';
$notice_html .= '<span class="dashicons dashicons-star-filled"></span>';
$notice_html .= '<span class="dashicons dashicons-welcome-learn-more"></span>';
/* translators: %s: 🎉 emoji */
$notice_html .= sprintf( __( 'Accept Donations on Your Church Site %s', 'lmscourse-fse' ), '🎉' );
$notice_html .= __( 'The theme was designed to work best with Masteriyo LMS', 'lmscourse-fse' );
$notice_html .= '</h2>';

$notice_html .= '<h1 class="notice-title">';
/* translators: %s: WP Full Pay */
$notice_html .= sprintf( __( 'Start Collecting Funds with %s!', 'lmscourse-fse' ), '<span>WP Full Pay</span>' );
/* translators: %s: Masteriyo LMS */
$notice_html .= sprintf( __( 'Create and Sell Online Courses with %s!', 'lmscourse-fse' ), '<span>Masteriyo LMS</span>' );

$notice_html .= '</h1>';

$notice_html .= '<p class="description">' . __( 'The simplest way to accept donations and payments on your WordPress site. Set up in minutes with no technical knowledge required.', 'lmscourse-fse' ) . '</p>';
$notice_html .= '<p class="description"><span class="dashicons dashicons-yes"></span><strong>' . __( 'Quick setup', 'lmscourse-fse' ) . '</strong> - ' . __( 'Connect to Stripe and create your first donation form in minutes', 'lmscourse-fse' ) . '</p>';
$notice_html .= '<p class="description"><span class="dashicons dashicons-yes"></span><strong>' . __( 'Multiple payment options', 'lmscourse-fse' ) . '</strong> - ' . __( 'One-time and recurring donations with customizable amounts', 'lmscourse-fse' ) . '</p>';
$notice_html .= '<p class="description">' . __( 'The complete WordPress LMS solution for educators and businesses. Build engaging courses, track student progress, and monetize your knowledge with zero coding required. ', 'lmscourse-fse' ) . '</p>';
$notice_html .= '<p class="description"><span class="dashicons dashicons-yes"></span><strong>' . __( 'Quick setup', 'lmscourse-fse' ) . '</strong> - ' . __( 'Install and create your first course in minutes', 'lmscourse-fse' ) . '</p>';
$notice_html .= '<p class="description"><span class="dashicons dashicons-yes"></span><strong>' . __( 'Multiple payment options', 'lmscourse-fse' ) . '</strong> - ' . __( 'Built-in payment system with Stripe, PayPal & more', 'lmscourse-fse' ) . '</p>';
$notice_html .= '<p class="description"><span class="dashicons dashicons-yes"></span><strong>' . __( 'Complete course builder', 'lmscourse-fse' ) . '</strong> - ' . __( 'Drag & drop builder with quizzes, certificates & assignments', 'lmscourse-fse' ) . '</p>';

$notice_html .= '<div class="actions">';

/* translators: %s: WP Full Pay */
$notice_html .= '<button id="lmscourse-fse-install-wpfp" class="button button-primary button-hero">';
/* translators: %s: Masteriyo LMS */
$notice_html .= '<button id="lmscourse-fse-install-masteriyo" class="button button-primary button-hero">';
$notice_html .= '<span class="dashicons dashicons-update hidden"></span>';
$notice_html .= '<span class="text">';
$notice_html .= 'installed' === $wpfp_status ?
/* translators: %s: WP Full Pay */
sprintf( __( 'Activate %s', 'lmscourse-fse' ), 'WP Full Pay' ) :
/* translators: %s: WP Full Pay */
sprintf( __( 'Install & Activate %s', 'lmscourse-fse' ), 'WP Full Pay' );
$notice_html .= 'installed' === $masteriyo_status ?
/* translators: %s: Masteriyo LMS */
sprintf( __( 'Activate %s', 'lmscourse-fse' ), 'Masteriyo LMS' ) :
/* translators: %s: Masteriyo LMS */
sprintf( __( 'Install & Activate %s', 'lmscourse-fse' ), 'Masteriyo LMS' );
$notice_html .= '</span>';
$notice_html .= '</button>';

$notice_html .= '<a href="https://wordpress.org/plugins/wp-full-stripe-free/" target="_blank" class="button button-secondary button-hero">';
$notice_html .= '<a href="https://wordpress.org/plugins/learning-management-system/" target="_blank" class="button button-secondary button-hero">';
$notice_html .= '<span>' . __( 'Learn More', 'lmscourse-fse' ) . '</span>';
$notice_html .= '<span class="dashicons dashicons-external"></span>';
$notice_html .= '</a>';
Expand All @@ -146,7 +146,7 @@ public function render_welcome_notice() {

$notice_html .= '</div>';

$notice_html .= '<img class="wpfp-preview" src="' . esc_url( Assets_Manager::get_image_url( 'welcome-notice.png' ) ) . '" alt="' . esc_attr__( 'WP Full Pay preview', 'lmscourse-fse' ) . '"/>';
$notice_html .= '<img class="masteriyo-preview" src="' . esc_url( Assets_Manager::get_image_url( 'welcome-notice.webp' ) ) . '" alt="' . esc_attr__( 'Masteriyo LMS preview', 'lmscourse-fse' ) . '"/>';
$notice_html .= '</div>';
$notice_html .= '</div>';

Expand Down Expand Up @@ -176,8 +176,8 @@ public function remove_welcome_notice() {
* @return bool
*/
private function should_show_welcome_notice(): bool {
// Already using WPFP.
if ( is_plugin_active( 'wp-full-stripe-free/wp-full-stripe.php' ) ) {
// Already using Masteriyo.
if ( is_plugin_active( 'learning-management-system/lms.php' ) ) {
return false;
}

Expand Down Expand Up @@ -231,33 +231,33 @@ private function should_show_welcome_notice(): bool {
}

/**
* Get the WP Full Pay plugin status.
* Get the Masteriyo LMS plugin status.
*
* @return string
*/
private function get_wpfp_status(): string {
private function get_masteriyo_status(): string {
$status = 'not-installed';

if ( is_plugin_active( 'wp-full-stripe-free/wp-full-stripe.php' ) ) {
if ( is_plugin_active( 'learning-management-system/lms.php' ) ) {
return 'active';
}

if ( file_exists( ABSPATH . 'wp-content/plugins/wp-full-stripe-free/wp-full-stripe.php' ) ) {
if ( file_exists( ABSPATH . 'wp-content/plugins/learning-management-system/lms.php' ) ) {
return 'installed';
}

return $status;
}

/**
* Run after WP Full Pay activation.
* Run after Masteriyo LMS activation.
*
* @param string $plugin Plugin name.
*
* @return void
*/
public function after_wpfs_activation( $plugin ) {
if ( 'wp-full-stripe-free/wp-full-stripe.php' !== $plugin ) {
public function after_masteriyo_activation( $plugin ) {
if ( 'learning-management-system/lms.php' !== $plugin ) {
return;
}

Expand All @@ -266,47 +266,20 @@ public function after_wpfs_activation( $plugin ) {
}

/**
* Update WP Full Pay reference key.
* Update Masteriyo LMS reference key.
*
* @return void
*/
public function set_wpfp_ref() {
if ( empty( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( $_POST['nonce'] ), 'lmscourse-fse-set-wpfp-ref' ) ) {
public function set_masteriyo_ref() {
if ( empty( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( $_POST['nonce'] ), 'lmscourse-fse-set-masteriyo-ref' ) ) {
return;
}

update_option( self::WPFP_REF, 'lmscourse-fse' );
update_option( self::MASTERIYO_REF, 'lmscourse-fse' );

wp_send_json_success();
}

/**
* Add Black Friday data.
*
* @param array $configs The configuration array for the loaded products.
*
* @return array
*/
public function add_black_friday_data( $configs ) {
$config = $configs['default'];

// translators: %1$s - plugin name, %2$s - discount.
$message_template = __( 'Need to accept payments or donations? Try %1$s, built by the same team as your theme — now up to %2$s OFF, for a limited time only.', 'lmscourse-fse' );

$config['dismiss'] = true; // Note: Allow dismiss since it appears on `/wp-admin`.
$config['message'] = sprintf( $message_template, 'WP Full Pay', '70%' );
$config['sale_url'] = add_query_arg(
array(
'utm_term' => 'free',
),
tsdk_translate_link( tsdk_utmify( 'https://themeisle.link/wpfp-bf', 'bfcm', 'lmscourse-fse' ) )
);

$configs[ LMSCOURSE_FSE_PRODUCT_SLUG ] = $config;

return $configs;
}

/**
* Register internal pages.
*
Expand Down
31 changes: 18 additions & 13 deletions inc/Block_Patterns.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@ class Block_Patterns {
* Block_Patterns constructor.
*/
public function __construct() {
$this->setup_properties();

add_action( 'init', array( $this, 'run' ) );
}

Expand All @@ -48,6 +46,7 @@ public function __construct() {
* @return void
*/
public function run() {
$this->setup_properties();
$this->register_categories();
$this->register_patterns();
}
Expand Down Expand Up @@ -75,27 +74,33 @@ private function setup_properties() {
'templates/single-post-cover',
'templates/archive-cover',
'templates/archive-list',
'templates/404',

// layout patterns.
'layout/404',
'layout/content-1',
'layout/content-2',
'layout/content-3',
'layout/content-4',
'layout/content-5',
'layout/content-6',
'layout/content-7',
'layout/content-8',
'layout/content-9',
'layout/cta-1',
'layout/cta-2',
'layout/cta-3',
'layout/events',
'layout/faq',
'layout/faqs-1',
'layout/features-1',
'layout/features-2',
'layout/features-3',
'layout/features-4',
'layout/hero-1',
'layout/ministries-1',
'layout/ministries-2',
'layout/sermons-1',
'layout/sermons-2',
'layout/testimonial',
'layout/verse',
'layout/hero-2',
'layout/pricing-1',
'layout/pricing-2',
'layout/stats-1',
'layout/stats-2',
'layout/testimonials-1',
'layout/testimonials-2',
'layout/testimonials-3',

// Post patterns.
'loops/posts-1',
Expand Down
Loading
Loading