Я создаю портфолио шаблонов для wordpress, у меня возникли некоторые трудности с добавлением Metabox в бэкэнде пользовательской страницы. У меня есть страница «Обо мне» с индикатором прогресса, чтобы показать свои навыки, и я бы добавил в bakend Metabox, чтобы изменить процентный уровень progressbar, теперь я мог видеть Metabox на бэкэнд всех страниц и через jquery i hide если адрес страницы не соответствует ожидаемому, есть ли способ сделать экран более общим и связать Metabox с настраиваемым шаблоном страницы?Связать Metabox с настраиваемым шаблоном страницы в wordpress
это код, который я имею в моем function.php, он хорошо работает, но я хотел бы сделать это менее специфичны
<?php
add_action('add_meta_boxes', 'box_percentuale');
function box_percentuale() {
add_meta_box(
'percentuale',
'Mdifica progress bar',
'box_percentuale_style',
'page'
);
}
function box_percentuale_style($post) {
?>
<div>
<h4>Percentuale skills</h4>
<label>HTML</label><input type="number" name="html" value="<?php echo get_post_meta($post->ID, 'html', true); ?>">
<label>CSS</label><input type="number" name="css" value="<?php echo get_post_meta($post->ID, 'css', true); ?>">
<label>JQUERY</label><input type="number" name="jquery" value="<?php echo get_post_meta($post->ID, 'jquery', true); ?>">
<label>WORDPRESS</label><input type="number" name="wordpress" value="<?php echo get_post_meta($post->ID, 'wordpress', true); ?>">
<label>ILLUSTRATOR</label><input type="number" name="illustrator" value="<?php echo get_post_meta($post->ID, 'illustrator', true); ?>">
<label>PHOTOSHOP</label><input type="number" name="photoshop" value="<?php echo get_post_meta($post->ID, 'photoshop', true); ?>">
</div>
<script>
jQuery(document).ready(function($) {
var url = window.location.href;
var urlPagina = 'http://localhost/wordpress/wp-admin/post.php?post=34&action=edit';
$('#percentuale').css('display', 'none');
if (url == urlPagina) {
$('#percentuale').show();
};
});
</script>
<?php
}
add_action('save_post', 'slava_percentuale');
function slava_percentuale($post_id)
{
if(isset($_POST['yiw_progetti_link'])) {
update_post_meta($post_id, 'html', intval($_POST['html']));
update_post_meta($post_id, 'css', intval($_POST['css']));
update_post_meta($post_id, 'jquery', intval($_POST['jquery']));
update_post_meta($post_id, 'wordpress', intval($_POST['wordpress']));
update_post_meta($post_id, 'illustrator', intval($_POST['illustrator']));
update_post_meta($post_id, 'photoshop', intval($_POST['photoshop']));
}
}
?>
Благодарим за предложение, я пробовал с этим кодом, но не работает, мое имя файла подкачки «page-aboutMe.php», возможно ли, что это проблема? –
Является шаблоном в подкаталоге? И какая часть не работает - разве это не добавление мета-поля или добавление его ко всем страницам? – Kaloyan
Шаблон не находится в подкаталоге, не добавляет метабокс где-нибудь –