O WordPress 6.5 adiciona a funcionalidade Biblioteca de Fontes, que permite aos utilizadores gerir fontes diretamente no editor. Também oferece uma gama de APIs, o que significa que os programadores têm mais flexibilidade para controlar e ajustar esta funcionalidade, ou mesmo desactivá-la.
coleção de tipos de letra
Um conjunto de tipos de letra é uma coleção de tipos de letra que pode adicionar ao seu site através do editor. Notheme.json
Estas famílias de tipos de letra estão listadas comofamília de letra
Projeto. Por predefinição, no WordPress 6.5, os utilizadores têm a opção de adicionar um conjunto de tipos de letra do Google. Para estar em conformidade com o RGPD, estes ficheiros de fontes são descarregados para o seu servidor WordPress ao instalar as fontes do Google.
Assim que uma coleção de tipos de letra tiver sido registada, o utilizador poderá vê-la no ecrã Biblioteca de tipos de letra do editor. Aqui, o utilizador pode instalar e começar a utilizar os tipos de letra da coleção.
Adicionar conjunto de tipos de letra
É possível utilizar owp_register_font_collection()
para adicionar um novo conjunto de fontes. O processo envolve definir a família de fontes e uma lista delas no formato PHP ou JSON e, em seguida, passar essas informações para a função como parte de uma matriz.
Abaixo está um exemplo que mostra como adicionar uma coleção de tipos de letra em PHP:
$font_families = [
array(
'font_family_settings' => (
array (
'fontFamily' => 'Open Sans, sans-serif',
'slug' => 'open-sans',
'fontFace' => (
array (
'fontFamily' => 'Open Sans',
'fontStyle' => 'normal',
'src' => 'https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4iY1M2xLER.woff2'
),
array (
'fontFamily' => 'Open Sans',
'fontStyle' => 'italic',
'src' => 'https://fonts.gstatic.com/s/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVIUwaERZjA.woff2'
),
),
), ), ), ), ), ), ), ), ), )
), ), ), ), ), ), ), ), ), )
'categories' => [ 'sans-serif' ],
),
array(
'font_family_settings' => (
array (
'fontFamily' => 'Monoton, system-ui',
'slug' => 'monoton',
'fontFace' => (
array (
'fontFamily' => 'Monoton',
'fontStyle' => 'normal',
'src' => 'https://fonts.gstatic.com/s/monoton/v19/5h1aiZUrOngCibe4fkPBQ2S7FU8.woff2',
'preview' => 'https://s.w.org/images/fonts/17.7/previews/monoton/monoton-400-normal.svg'
),
),
)
),
'categories' => [ 'display' ],
),
array(
'font_family_settings' => (
array (
'fontFamily' => 'Arial, Helvetica, Tahoma, Geneva, sans-serif',
'slug' => 'arial',
)
),
'categories' => [ 'sans-serif' ],
),
];
$categorias = [
array(
'name' => _x( 'Display', 'Font category name' ),
'slug' => 'Display',
),
array(
'name' => _x( 'Sans Serif', 'Font category name' ),
'slug' => 'sans-serif',
),
].
$config = matriz (
'name' => _x( 'A minha coleção de fontes', 'Nome da coleção de fontes' ),
'description' => _x( 'Uma coleção das minhas fontes favoritas.', 'Descrição da coleção de fontes' ),
'font_families' => $font_families, 'font_families' => _x( 'Uma coleção das minhas fontes favoritas.
).
wp_register_font_collection ( 'my-font-collection', $config );
Note que a matriz de coleção de fontes denome
responder com cânticosdescrição
precisam de suportar a tradução multilingue, pode fazê-lo utilizando o_x()
para envolver este texto para o conseguir. Normalmente, os nomes das famílias de fontes não são traduzidos. Para mais informações, consulte a discussão #60509.
na coleção de fontesfamílias_de_fontes
Os campos podem especificar tipos de letra utilizando um caminho local ou um URL remoto que aponte para um ficheiro JSON.
Eliminar o conjunto de tipos de letra
É possível utilizar owp_unregister_font_collection()
desactiva a coleção de tipos de letra. Este é um exemplo de desativação da coleção de tipos de letra predefinida:
add_action( 'init', function() {
wp_unregister_font_collection( 'default-font-collection' );
} );
Instalação e ativação de tipos de letra
No WordPress, pode obter uma lista de todas as funcionalidades que estão disponíveis através da opçãotheme.json
Definições para configurar os tipos de letra. Quando "instala" um tipo de letra no seu site, as respectivas definições são guardadas numa base de dados para que qualquer tema possa utilizar o tipo de letra.
"Ativar" o tipo de letra significa que este será adicionado às definições de estilo globais do tema. Desta forma, o novo tipo de letra pode ser utilizado no estilo geral do sítio, bem como no design de blocos individuais.
Se mudar para um novo tema, tem de reativar as fontes previamente instaladas, o que garante que os estilos globais do novo tema também serão actualizados. Se reiniciar os estilos globais do tema, todas as fontes previamente instaladas serão desactivadas, mas permanecerão no site e poderá reactivá-las em qualquer altura.
Além disso, a biblioteca de tipos de letra permite-lhe desativar os tipos de letra que vêm com o tema se não precisar deles, o que pode ajudar a melhorar a velocidade de carregamento do seu Web site.
Catálogo de carregamento de tipos de letra personalizados
Por predefinição, os tipos de letra carregados são guardados na pastawp-content/fonts
pasta. No entanto, pode utilizar a pastadirectório_de_fontes
Filtro para alterar esta localização de gravação, defina um diretório diferente de acordo com as suas necessidades. Se as suas definições não permitirem alterações aowp-conteúdo
diretório, entãowp-content/uploads/fonts
será utilizado como diretório alternativo.
Pode utilizar owp_get_font_dir()
para descobrir a localização exacta do diretório de carregamento de fontes.
O exemplo seguinte irá alterar o diretório de fontes para o diretório "Uploads" do WordPress (normalmentewp-content/uploads
):
função alter_wp_fonts_dir( $defaults ) {
$wp_upload_dir = wp_get_upload_dir();
$uploads_basedir = $wp_upload_dir['basedir'];
$uploads_baseurl = $wp_upload_dir['baseurl'];
$fonts_dir = $uploads_basedir . '/fonts';
// Gere o URL para o diretório de fontes a partir do diretório de fontes.
$fonts_url = str_replace( $uploads_basedir, $uploads_baseurl, $fonts_dir ); // Gera o URL para o diretório de fontes a partir do diretório de fontes.
$defaults['path'] = $fonts_dir;
$defaults['url'] = $fonts_url;
devolva $defaults;
}
add_filter( 'font_dir', 'alter_wp_fonts_dir' );
Quando alterar a localização de carregamento das suas fontes, certifique-se de que a pasta que escolheu existe efetivamente e tem as permissões de leitura e escrita corretas.
tal comowp-content/uploads
é a mesma, a pasta definida para os carregamentos de fontes não será afetada pelawp_is_file_mod_allowed
talvezNÃO PERMITIR FICHEIROS_MODS
O efeito das definições significa que estas definições não impedirão o carregamento de tipos de letra.
Como desativar a biblioteca de tipos de letra
Por predefinição, as bibliotecas de tipos de letra estão acessíveis através do editor.
Desativar a interface do utilizador
Os filtros podem ser utilizados para desativar as definições personalizadas do editor da IU:
função disable_font_library_ui( $editor_settings ) {
$editor_settings['fontLibraryEnabled'] = false;
return $editor_settings;
}
add_filter( 'block_editor_settings_all', 'disable_font_library_ui' );
Desativar a API REST
devedesregistar_post_type()
pode ser utilizada para remover os tipos de correio associados a uma biblioteca de tipos de letra e para alargar a API REST:
add_action( 'init', function() {
desregistar_post_type( 'wp_font_family' );
unregister_post_type( 'wp_font_face' );
} );
Ao fazê-lo, permite que o plugin desactive a funcionalidade da biblioteca de tipos de letra, mas ao mesmo tempo mantém a interface para gerir os tipos de letra fornecidos pelo tema atual.
Nova API REST
Três novos pontos de extremidade da API REST foram adicionados ao recurso Biblioteca de fontes:
wp/v2/colecções de fontes
Utilizado para obter uma lista de famílias de fontes predefinidas, ou seja, "colecções".wp/v2/font-families
Utilizado para obter informações sobre as famílias de tipos de letra principais, que normalmente contêm um ou mais tipos de letra individuais.wp/v2/font-families//font-faces
Utilizado para obter informações detalhadas sobre cada tipo de letra de uma família de tipos de letra.
Sem comentários