I've tried to look for a specific answer/tutorial on this subject but I'm coming up short and wanted to see what the SE community could suggest. At this point, any guidance whatsoever would be most appreciated.
Basically I'm trying to determine the current page being viewed within a class method I'm setting up, but I haven't had any luck so far. The idea is to enqueue scripts/styles if the appropriate conditions are met: Feature is enabled and set to all pages, or feature enabled and set to display on the current page being viewed.
Here is the latest version of the code I've been working on:
<?php
if( !class_exists('CTA_Modal') )
{
Class CTA_Modal {
public $current_post;
public function __construct($post_id)
{
$this->current_post = $post_id;
// $this->load_feature();
}
public function load_feature()
{
$modal_display = array(
'enabled' => true,
'all_pages' => true,
'pages' => array()
);
$modal_display['enabled'] = get_field('ctamodal_enabled', 'options');
$modal_display['all_pages'] = get_field('ctamodal_show_all', 'options');
$modal_display['pages'] = ( $modal_display['all_pages'] ) ? array() : get_field('ctamodal_show_pages', 'options');
if( $modal_display['enabled'] )
{
if( $modal_display['all_pages'] )
{
add_action( 'wp_enqueue_scripts', array($this, 'enqueue') );
}
else if( !empty($modal_display['pages']) )
{
$pages = $modal_display['pages'];
foreach ($pages as $page) {
if( $page === $this->current_post )
{
add_action( 'wp_enqueue_scripts', array($this, 'enqueue') );
}
}
}
}
echo '<!--';
echo $this->current_post;
echo '-->';
}
public function enqueue()
{
$vendor = get_stylesheet_directory_uri() . '/vendor';
wp_enqueue_style('fancybox-css', $vendor . '/fancybox/jquery.fancybox.css');
wp_enqueue_script('fancybox-js', $vendor . '/fancybox/jquery.fancybox.js', array('jquery'), '2.1.5');
}
}
}
I can't seem to figure out why declaring global $post;
doesn't have the desired effect either. I was originally declaring the global and reseting the query right in this file (i.e. file the code above lives in) and also in the functions.php file, but I wasn't able to get a different result.
Any suggestions/guidance would be most appreciated!