HEX
Server: nginx/1.22.1
System: Linux VM-16-9-centos 3.10.0-1160.99.1.el7.x86_64 #1 SMP Wed Sep 13 14:19:20 UTC 2023 x86_64
User: www (1001)
PHP: 7.3.31
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/softfox.com.cn/wp-content/plugins/wpjam-basic/extends/custom-footer.php
<?php
/*
Name: 文章页代码
URI: https://mp.weixin.qq.com/s/xbaOgxyGHs9ysL5-bTEbcw
Description: 在文章编辑页面可以单独设置每篇文章 head 和 Footer 代码。
Version: 1.0
*/
class WPJAM_Post_Custom_Code{
	public static function get_sections(){
		$options	= [
			0		=> '不在文章列表页设置文章页代码', 
			1		=> '在文章列表页设置文章页代码', 
			'only'	=> '只在文章列表页设置文章页代码'
		];

		return ['posts'=>['fields'=>['custom-post'	=> ['title'=>'文章页代码',	'type'=>'select',	'options'=>$options]]]];
	}

	public static function match_callback($post_type){
		return is_post_type_viewable($post_type) && post_type_supports($post_type, 'editor');
	}

	public static function on_footer(){
		if(is_singular()){
			echo get_post_meta(get_the_ID(), 'custom_footer', true);
		}
	}

	public static function on_head(){
		if(is_singular()){
			echo get_post_meta(get_the_ID(), 'custom_head', true);
		}
	}

	public static function filter_post_json($post_json, $post_id){
		if(is_singular()){
			$post_json['custom_head']	= (string)get_post_meta($post_id, 'custom_head', true);
			$post_json['custom_footer']	= (string)get_post_meta($post_id, 'custom_footer', true);
		}

		return $post_json;
	}

	public static function add_hooks(){
		add_filter('wp_footer',			[self::class, 'on_footer']);
		add_filter('wp_head',			[self::class, 'on_head']);
		add_filter('wpjam_post_json',	[self::class, 'filter_post_json'], 10, 3);

		wpjam_register_post_option('custom_post', [
			'title'			=> '文章页代码',
			'post_type'		=> [self::class, 'match_callback'],
			'summary'		=> '自定义文章代码可以让你在当前文章插入独有的 JS,CSS,iFrame 等类型的代码,让你可以对具体一篇文章设置不同样式和功能,展示不同的内容。',
			'list_table'	=> wpjam_basic_get_setting('custom-post'),
			'fields'		=> [
				'custom_head'	=>['title'=>'头部代码',	'type'=>'textarea'],
				'custom_footer'	=>['title'=>'底部代码',	'type'=>'textarea']
			]
		]);
	}
}

wpjam_add_option_section('wpjam-basic', ['model'=>'WPJAM_Post_Custom_Code']);