Como desenvolvedores de WordPress, muitas vezes queremos obter informações diferentes (ID, título, URL) para páginas padrão do WordPress/WooCommerce, como o Blogue e Minha conta Páginas.
Surpreendentemente, todas essas coisas úteis estão armazenadas no *_options
tabela, e podemos acessá-la usando o get_option()
função. Há também o wp_load_alloptions()
que podemos usar para imprimir todos eles na página.
Vamos ver isso em ação!
Obtenha páginas estáticas do WordPress
Imagine que, em nosso site, registramos páginas estáticas como front pages e páginas de blog.
O WordPress armazena o ID dessas páginas como valores do page_on_front
e page_for_posts
opções.
A partir daí podemos acessar os títulos e URLs usando o built-in get_the_title()
e get_permalink()
funções.
É importante notar que outra maneira de obter imediatamente o URL da página de arquivo do blog é usando o get_post_type_archive_link()
função e passando o post
palavra-chave como parâmetro. Por exemplo, se quisermos obter o URL da página de arquivo do member
tipo de postagem personalizada, passaremos o member
parâmetro para esta função.
Primeira página estática
1 |
/* GET URL */
|
2 |
function get_front_page_url() { |
3 |
return get_permalink( get_option( 'page_on_front' ) ); |
4 |
}
|
5 |
|
6 |
/* GET TITLE */
|
7 |
function get_front_page_title() { |
8 |
return get_the_title( get_option( 'page_on_front' ) ); |
9 |
}
|
Página estática do blog
1 |
/* GET URL */
|
2 |
// Method 1
|
3 |
function get_blog_page_url() { |
4 |
return get_permalink( get_option( 'page_for_posts' ) ); |
5 |
}
|
6 |
|
7 |
// Method 2 - call get_blog_page_url2( 'post' )
|
8 |
function get_blog_page_url2( $type ) { |
9 |
return get_post_type_archive_link( $type ); |
10 |
}
|
11 |
|
12 |
/* GET TITLE */
|
13 |
function get_blog_page_title() { |
14 |
return get_the_title( get_option( 'page_for_posts' ) ); |
15 |
}
|
Obtenha páginas estáticas do WooCommerce
Entre outros, WooCommerce também armazena os IDs de suas páginas essenciais como Minha conta, Comprar, Carrinhoe Confira páginas no *_options
mesa.
Conforme discutido acima, podemos acessar seus títulos e URLs usando as funções principais do WordPress.
WooCommerce também oferece algumas funções úteis como as abaixo, que podemos usar para acessar diretamente as partes da página que desejamos:
Página Minha Conta
1 |
/* GET URL */
|
2 |
// Method 1
|
3 |
function get_my_account_page_url() { |
4 |
return get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ); |
5 |
}
|
6 |
|
7 |
// Method 2
|
8 |
function get_my_account_page_url2() { |
9 |
return get_permalink( wc_get_page_id( 'myaccount' ) ); |
10 |
}
|
11 |
|
12 |
// Method 3
|
13 |
function get_my_account_page_url3() { |
14 |
return wc_get_page_permalink( 'myaccount' ); |
15 |
}
|
16 |
|
17 |
/* GET TITLE */
|
18 |
// Method 1
|
19 |
function get_my_account_page_title() { |
20 |
return get_the_title( get_option( 'woocommerce_myaccount_page_id' ) ); |
21 |
}
|
22 |
|
23 |
// Method 2
|
24 |
function get_my_account_page_title2() { |
25 |
return get_the_title( wc_get_page_id( 'myaccount' ) ); |
26 |
}
|
Página da loja
1 |
/* GET URL */
|
2 |
// Method 1
|
3 |
function get_shop_page_url() { |
4 |
return get_permalink( get_option( 'woocommerce_shop_page_id' ) ); |
5 |
}
|
6 |
|
7 |
// Method 2
|
8 |
function get_shop_page_url2() { |
9 |
return get_permalink( wc_get_page_id( 'shop' ) ); |
10 |
}
|
11 |
|
12 |
// Method 3
|
13 |
function get_shop_page_url3() { |
14 |
return wc_get_page_permalink( 'shop' ); |
15 |
}
|
16 |
|
17 |
/* GET TITLE */
|
18 |
// Method 1
|
19 |
function get_shop_page_title() { |
20 |
return get_the_title( get_option( 'woocommerce_shop_page_id' ) ); |
21 |
}
|
22 |
|
23 |
// Method 2
|
24 |
function get_shop_page_title2() { |
25 |
return get_the_title( wc_get_page_id( 'shop' ) ); |
26 |
}
|
Página do carrinho
1 |
/* GET URL */
|
2 |
// Method 1
|
3 |
function get_cart_page_url() { |
4 |
return get_permalink( get_option( 'woocommerce_cart_page_id' ) ); |
5 |
}
|
6 |
|
7 |
// Method 2
|
8 |
function get_cart_page_url2() { |
9 |
return get_permalink( wc_get_page_id( 'cart' ) ); |
10 |
}
|
11 |
|
12 |
// Method 3
|
13 |
function get_cart_page_url3() { |
14 |
return wc_get_page_permalink( 'cart' ); |
15 |
}
|
16 |
|
17 |
// Method 4
|
18 |
function get_cart_page_url4() { |
19 |
return wc_get_cart_url(); |
20 |
}
|
21 |
|
22 |
/* GET TITLE */
|
23 |
// Method 1
|
24 |
function get_cart_page_title() { |
25 |
return get_the_title( get_option( 'woocommerce_cart_page_id' ) ); |
26 |
}
|
27 |
|
28 |
// Method 2
|
29 |
function get_cart_page_title2() { |
30 |
return get_the_title( wc_get_page_id( 'cart' ) ); |
31 |
}
|
Página de check-out
1 |
/* GET URL */
|
2 |
// Method 1
|
3 |
function get_checkout_page_url() { |
4 |
return get_permalink( get_option( 'woocommerce_checkout_page_id' ) ); |
5 |
}
|
6 |
|
7 |
// Method 2
|
8 |
function get_checkout_page_url2() { |
9 |
return get_permalink( wc_get_page_id( 'checkout' ) ); |
10 |
}
|
11 |
|
12 |
// Method 3
|
13 |
function get_checkout_page_url3() { |
14 |
return wc_get_page_permalink( 'checkout' ); |
15 |
}
|
16 |
|
17 |
// Method 4
|
18 |
function get_checkout_page_url4() { |
19 |
return wc_get_checkout_url(); |
20 |
}
|
21 |
|
22 |
/* GET TITLE */
|
23 |
// Method 1
|
24 |
function get_checkout_page_title() { |
25 |
return get_the_title( get_option( 'woocommerce_checkout_page_id' ) ); |
26 |
}
|
27 |
|
28 |
// Method 2
|
29 |
function get_checkout_page_title2() { |
30 |
return get_the_title( wc_get_page_id( 'checkout' ) ); |
31 |
}
|
Outros plug-ins WooCommerce
Não é de surpreender que outros plug-ins do WooCommerce armazenem informações sobre suas páginas no *_options
mesa. Por exemplo, considere o Lista de desejos do Yith WooCommerce plugin popular que permite aos usuários salvar seus produtos populares no Lista de Desejos página.
Desde que o instalemos e ativemos, no banco de dados veremos uma nova entrada para o Lista de Desejos página.
1 |
/* GET URL */
|
2 |
// Method 1
|
3 |
function get_yith_wishlist_page_url() { |
4 |
return get_permalink( get_option( 'yith_wcwl_wishlist_page_id' ) ); |
5 |
}
|
6 |
|
7 |
// Method 2
|
8 |
function get_yith_wishlist_page_url2() { |
9 |
return YITH_WCWL()->get_wishlist_url(); |
10 |
}
|
11 |
|
12 |
/* GET TITLE */
|
13 |
function get_yith_wishlist_page_title() { |
14 |
return get_the_title( get_option( 'yith_wcwl_wishlist_page_id' ) ); |
15 |
}
|
Conclusão
Feito! Hoje, aprendemos diferentes métodos para acessar IDs, títulos e URLs das páginas principais do WordPress e WooCommerce. Espero que você tenha este tutorial como referência sempre que quiser acessar essa página. Por último, mas não menos importante, todo o código abordado aqui está incluído neste Gist.
Lembre-se que a melhor forma de aprender e encontrar o que deseja é consultando o banco de dados e verificando os arquivos nativos do WordPress e WooCoomerce.
Como sempre, muito obrigado pela leitura!