我试图寻找一个关于这个主题的具体答案/教程,但我很简短,想看看SE社区能提供什么建议。在这一点上,任何指导都是非常感谢的。
基本上,我试图确定当前页面在我正在设置的类方法中被查看,但到目前为止我还没有任何运气如果满足适当的条件,可以将脚本/样式排队:启用功能并将其设置为所有页面,或者启用功能并将其设置为显示在当前查看的页面上
以下是我一直在研究的最新版本的代码:
<?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\');
}
}
}
我似乎不明白为什么要宣布
global $post;
也没有预期的效果。我最初是在这个文件(即上面的代码所在的文件)和函数中声明全局并重置查询权限。php文件,但我无法得到不同的结果。
如有任何建议/指导,将不胜感激!