Use o ID de usuário atual com pods para WordPress
O Pods Framework para WordPress, um utilitário específico que existe há muito tempo, oferece muitas funcionalidades que podem facilitar o trabalho com tipos de conteúdo avançados, configurações personalizadas e assim por diante.
Menciono isso porque Pods é um utilitário popular e existem alguns recursos disponíveis que fornecem algumas funcionalidades interessantes.
Através do uso de shortcodes, é possível realizar algumas consultas de banco de dados poderosas para recuperar informações para preencher formulários dinamicamente.
Um caso de uso que vejo aparecendo em alguns resultados é como preencher um código de acesso com o ID do usuário atual. Há uma postagem no fórum sobre isso aqui e uma discussão contínua sobre isso no Stack Overflow também.
Mas se você estiver procurando uma maneira de filtrar o conteúdo para fazer isso sem retrabalhar alguns dos códigos de acesso existentes, há outra maneira de fazer isso.
Usar o ID do usuário atual com pods
Digamos que você queira preencher um formulário com o ID do usuário atual sem um shortcode; você pode fazer isso usando um token e um filtro.
Por exemplo, digamos que seu shortcode seja algo assim :
[pods-form name="user" fields="first_name, last_name" where="current_user_id = user_id" label="Update"]
Para filtrar isso, em vez de usar um shortcode, você pode fazer o seguinte :
<?php
add_filter('the_content', __NAMESPACE__. 'filter_pods_by_current_user');
/**
* Replaces the current_user_id = user_id with the current user ID in the
* incoming content (which includes the Pods shortcode).
*
* @param string $content the content of the shortcode.
* @return string the result of the parsed shortcode.
*/
function filter_pods_by_current_user($content)
{
$user = wp_get_current_user();
return str_ireplace(
'current_user_id = user_id',
"id='". $user->ID. "'",
$content
);
}
Isso procurará um token específico na string, o substituirá e o retornará com um atributo de código de acesso compatível com Pods antes que o código de acesso seja processado.
Em seguida, os pods executarão a consulta de forma que se pareça com isso (supondo que o ID do usuário atual seja 100):
[pods-form name="user" fields="first_name, last_name" where="id = 100" label="Update"]
Uma coisa que eu quero deixar claro é que eu não recomendo necessariamente isso usando a manipulação de shortcode.
Em vez disso, use o que melhor se adapta à situação. Se for shortcodes, veja o código linkado na introdução; caso contrário, talvez o filtro acima funcione bem.
