Skip to content

Instantly share code, notes, and snippets.

@luizfelipeleite
Last active August 12, 2020 18:21
Show Gist options
  • Save luizfelipeleite/d6a207e4da05f8689e48c506cb78ca17 to your computer and use it in GitHub Desktop.
Save luizfelipeleite/d6a207e4da05f8689e48c506cb78ca17 to your computer and use it in GitHub Desktop.
wp-cli: (sempre na pasta do projeto)
wp config set table_prefix av_
exportar base:
wp db export .db/lastest.sql
importar base:
wp db import .db/lasteast.sql
mudar senha usuário:
wp user update 1 --prompt=user_pass
ou
wp user update admin --user_pass=admin
mostrar tabelas:
wp db tables
limpar banco de dados:
wp db clean --yes (cuidado no usar essa porra luiz)
ver a url do site:
wp option get siteurl
regerar imagens:
wp media regenerate --yes
search-replace:
wp search-replace http://homologacao.envolvelabs.com.br/dimensaoeng http://dimensao.test
baixar wordpress:
wp core download
criar arquivo config wp:
wp config create --dbname=portalintranet --dbuser=portalintranet --dbhost=portalintranet.mysql.dbaas.com.br --dbpass=Su@mG17!
conectar no banco de dados pela configuracao do wp:
wp db cli
criar arquivo de configuracao do wp cli:
vi wp-cli.local.yml
conteudo do arquivo:
skip-plugins:
- gravityformsuserregistration
- gravityforms
@production:
path: .wp/production
-----
baixar base de dados:
primeiro ver se tem acesso remoto, depois baixar um wordpress novo e intitular de producao dentro da pasta do projeto.
dai criar um arquivo de configuracao com o path
depois acessar o banco wp db cli exportar o banco
wp db export ../portalintranet.sql
---------
zipar pasta recursivamente:
zip -r nome.zip .
criar pasta:
mkdir nome (usar -p caso queira definir um caminho pra criar a pasta)
deletar coisas:
rm -rf patchouarquivo
decodificar base64:
echo "RFdtdnMlLXhrUDlY" | base64 -D
ver qual patch atual:
pwd
----------
git:
git push -u origin master (quando só tem 1 não precisa disso) e caso der ruim usar --force
git pull
git archive -o update.zip HEAD $(git diff --name-only HEAD^)
git archive -o last8.zip HEAD $(git diff --name-only HEAD~8)
--------------------
usar phpcs:
copiar o arquivo phpcs.xml, composer.json e .editorconfig para dentro do projeto.
rodar o comando: composer run-script php:lint
tem tambem o phpcbf, que corrige automaticamente algum arquivo:
./vendor/bin/phpcbf wp-content/themes/dt-the7/functions-envolve.php
-------------------
versionando no git localmente:
git init
touch .gitignore
git add .
caso precise usar um comando para remover os arquivos do mac ds_store: rmdss
se digitar alias rmdss ele mostra o que faz, no caso isso: rmdss='find . -name .DS_Store -type f -delete'
git commit -m "Send archive with changes"
caso queira ver as alteracoes: git status
-----------
pra redimencionar imagens pra ficar tudo do mesmo tamanho, mesmo a imagem sendo de tamanhos diferentes:
antes da imagem, a div pai tem que ter: padding-top (ou bottom): 110~120%,
dai a imagem tu coloca:
position:absolute
left: 50%
top: 50%
transform: translate(-50%,-50%)
-----------
pegar chave ssh key:
cat ~/.ssh/id_rsa.pub | pbcopy
isnull(), o php trata várias condições numa só função, trata se é null, se está vazio...
o php considera o zero como false e não como numero, pra tratar o 0 número é necessário converter pra inteiro primeiro.
isset is_null ===null ==null empty
null | F | T | T | T | T |
unset | F | T | T | T | T |
"" | T | F | F | T | T |
[] | T | F | F | T | T |
0 | T | F | F | T | T |
false | T | F | F | T | T |
true | T | F | F | F | F |
1 | T | F | F | F | F |
\0 | T | F | F | F | F |
caso não saiba o valor que está vindo por padrão:
if ( 0 === intval( $product['mID'] ) ) {
$product['mID'] = null;
$product['mID'] = '';
$product['mID'] = 0;
$product['mID'] = array();
$product['mID'] = false;
todos esses dão 0
http://www.compileonline.com/execute_php_online.php
------
permissões corretas wp
type d = diretorio
type f = files
chown -R www-data:www-data site
find -type d -exec chmod 755 {} \;
find -type f -exec chmod 644 {} \;
-------------------
redirecionamento de link
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/intranet/ <- excluir a página intranet
RewriteRule ^(.*)$ http://www.dominio.com/br/$1 [R=301,L] <--- ^(.*)$ caso tiver www.dominio.com.br/contato irá para www.dominio.com/br/contato (pega tudo que tem depois e bota no redirecionamento),
o $ quer dizer que termina ali url
neste caso essa página não será redirecionada: http://www.dominio.com.br/intranet/login.php
alterado para liberar o resto das pastas que a intranet usa:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/admin/
RewriteCond %{REQUEST_URI} !^/anexos_sgq/
RewriteCond %{REQUEST_URI} !^/apps/
RewriteCond %{REQUEST_URI} !^/cfg/
RewriteCond %{REQUEST_URI} !^/data/
RewriteCond %{REQUEST_URI} !^/documentoscontrolados/
RewriteCond %{REQUEST_URI} !^/fonts/
RewriteCond %{REQUEST_URI} !^/fotos/
RewriteCond %{REQUEST_URI} !^/img/
RewriteCond %{REQUEST_URI} !^/intranet/
RewriteCond %{REMOTE_HOST} !^179\.155\.216\.142 <- liberar nosso ip
RewriteRule ^(.*)$ http://www.vetanco.com/br/$1 [R=301,L]
-----
pegar os termos:
<label>Atuações</label>
<p>
<?php $atuacoes = wp_get_object_terms($post->ID, 'atuacao');
echo implode(', ',wp_list_pluck($atuacoes,'name')); ?>
</p>
implode pega uma array, junta tudo num campo e separado pelo primeiro parametro, no caso ','
o wp_list_pluck pega uma array enorme, e só deixa o campo que vc quer da array.
get_page_template_slug( $post->ID ) - pra paginas
is_single('post type') - pra post types padroes
is_singular('post type') pra custom post types
----------
verificar eval no código por regex
/eval\((base64|eval|\$_|\$\$|\$[A-Za-z_0-9\{]*(\(|\{|\[))/i
---------
hackertarget wordpress scan - ver vulnerabilidades
vulnerabilidade pro slider revolution:
/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php
descobrir nome usuários:
/?author=1
---------------------------------------------
posicionar uma imagem no meio de uma div grande com o tamanho original dela (normalmente pequeno)
deve se colocar esse código na div antes da imagem: (não no <a>)
table-cell permite vc usar vertical-align
.mk-product .mk-product-image .mk-woocommerce-main-image {
min-height: 300px;
display: table-cell;
text-align: center;
vertical-align: middle;
width: 300px;
height: 300px;
}
pra posicionar uma imagem pequena no centro de uma div usa top 50% (top funciona com qualquer position que não seja estatico que é o default)
esse transform: translateY(-50%) junto do top 50% faz ficar no centro, pq não sei mas funciona)
.mk-product .mk-woocommerce-main-image img {
width: auto !important;
height: auto !important;
border: 0 !important;
top: 50%;
position: relative;
transform: translateY(-50%);
}
outro exemplo:
.mk-product-loop .products .item .mk-product-holder .product-loop-image (classe da imagem) {
width: auto !important;
height: auto !important;
}
.mk-product-loop .products .item .mk-product-holder .product-loop-thumb (div antes do <a> antes da imagem) {
text-align: center !important;
display: table-cell;
vertical-align: middle;
width: 250px;
height: 250px;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment